Вы хотите StructLayoutAttribute
[StructLayout(LayoutKind.Explicit, Size=1, CharSet=CharSet.Ansi)]
public struct Foo
{ [FieldOffset(0)]public byte original_or_copy;
[FieldOffset(0)]public byte copyright;
[FieldOffset(0)]public byte data_alignment_indicator;
[FieldOffset(0)]public byte PES_priority;
[FieldOffset(0)]public byte PES_scrambling_control;
[FieldOffset(0)]public byte reserved;
}
, Это - действительно объединение, но можно использовать его в качестве битового поля - просто необходимо ощущать то, где в байте биты для каждого поля, как предполагается, находятся. Служебные функции и/или константы к И против могут помочь.
const byte _original_or_copy = 1;
const byte _copyright = 2;
//bool ooo = foo.original_or_copy();
static bool original_or_copy(this Foo foo)
{ return (foo.original_or_copy & _original_or_copy) == original_or_copy;
}
существует также LayoutKind. Последовательный, который позволит Вам делать это путь C.
Используя приведенную ниже таблицу, вы можете определить размер отдельных файлов.
svn list --verbose --recursive http://svn/repo/path
Возможно, вы можете просмотреть эту команду найти способ?