Campos de bits em c #

Eu tenho uma estrutura que eu preciso para preencher e gravar em disco (vários, na verdade).

Um exemplo é:

byte-6    
bit0 - original_or_copy  
bit1 - copyright  
bit2 - data_alignment_indicator  
bit3 - PES_priority  
bit4-bit5 - PES_scrambling control.  
bit6-bit7 - reserved  

Em C, eu poderia fazer algo como o seguinte:

struct PESHeader  {
    unsigned reserved:2;
    unsigned scrambling_control:2;
    unsigned priority:1;
    unsigned data_alignment_indicator:1;
    unsigned copyright:1;
    unsigned original_or_copy:1;
};

Existe alguma maneira de fazer isso em c # que me permita acessar os bits usando o operador de ponto de referência de estrutura?

Para algumas estruturas, posso fazer bit shifting em uma função de acesso.

Eu tenho um monte de estruturas para lidar com isso, então estou procurando algo que seja mais fácil de ler e mais rápido de escrever.

questionAnswers(4)

yourAnswerToTheQuestion