Re: Функция или свойство?
От: Codechanger Россия  
Дата: 22.03.11 14:26
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть некоторая структура для передачи данных


А>
А>   [StructLayout(LayoutKind.Explicit)]
А>    public struct SomeStruct
А>    {
А>        [FieldOffset(0)]
А>        public byte v1;
А>        [FieldOffset(1)]
А>        public byte v2;
А>        [FieldOffset(2)]
А>        public float v3;
А>        ......
А>    }
А>


А>Допустим некоторые поля типа byte имеют битовые флаги нескольких переменных.(т.е. например v1 содержит 8 переменных).


А>На помощь создается класс SomeStructHelper


А>
А>    class SomeStructHelper
А>    {
А>        public static SomeStruct StructData
А>        {
А>            get
А>            {
А>                 SomeStruct returnStruct;
А>                 BitArray bit = new BitArray(new bool[] { Bit1, Bit2, Bit3, Bit4, Bit5, Bit6, Bit7, Bit8 });
А>                 Array array = Array.CreateInstance(typeof(byte), 1);
А>                 bit.CopyTo(array, 0);
А>                 returnStruct.v1 = (byte)array.GetValue(0);
А>                 ..............
А>            }
А>            set
А>            {
А>                BitArray bits = new BitArray(new byte[] { value.v1});
А>                Bit1 = bits.Get(0);
А>                Bit2 = bits.Get(1);
А>                ...........
А>            }
А>        }
        
А>        public static bool Bit1 { get; set; }                        
А>        public static bool Bit2 { get; set; }                        
А>        public static bool Bit3 { get; set; }                        
А>        .....................
А>    }
А>


А>Вот вопрос: StructData лучше оставить свойством или желательно сделать два статических метода(Get и Set)?



В данном случае лучше методы. При использовании свойств могут возникнуть некоторые, скажем так, иллюзии.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.