>>592
C#のクラスオブジェクトの取り扱いは、
C++で言うとnewでヒープに確保してそのポインタを持ち回っている状態。
だから、コピーコンストラクタは基本的に出番がない。

C++でもコピー不可のクラスなんて珍しくはなかったでしょ。
C#ではそっちのほうが基本というわけ。

XElementのように、自身と同じ型を引数に取るコンストラクタを持たせることは可能。
言語上、何か特別扱いされることはないだけ。
ただ、複製を作るには、Cloneメソッドを定義してやるほうが一般的。