public class TestClass
{
protected internal int FieldA;
internal protected int FieldB;
}
保護された内部メンバーと内部保護されたメンバーの間に違いはありますか?
public class TestClass
{
protected internal int FieldA;
internal protected int FieldB;
}
保護された内部メンバーと内部保護されたメンバーの間に違いはありますか?
protected internal
とinternal protected
メンバーに違いはありますか?
それらの間に違いはありません。
protected internal
protected
ORを意味しますinternal
。
internal protected
internal
ORを意味しますprotected
。
タイプまたはメンバーには、それが宣言されているアセンブリ内の任意のコードから、または別のアセンブリ内の派生クラス内からアクセスできます。別のアセンブリからのアクセスは、保護された内部要素が宣言されているクラスから派生したクラス宣言内で行われる必要があり、派生クラスタイプのインスタンスを介して行われる必要があります。
2つのうち、protected internal
一般的に使用されます。アクセス修飾子に関するMSDNページinternal protected
への参照はありません。
PhilHaackのブログ投稿もチェックしてくださいWhat Does Protected Internal Mean?
いいえ、違いはありません。好きな順序で宣言できます。static
アクセス修飾子の前または後に宣言できるのと同じように。
唯一の本当の違いは、あなたとあなたのチームが決めることです。通常、混乱や仮定を避けるために1つのスタイルに固執するか、少なくともそれを読むときに一貫性を持たせる必要があります。
編集:しかし、私はそれを考えた今、私は頻繁に見たことを思い出しません"internal protected"
。アクセス修飾子のMSDNページでは、それがとしてリストされている"protected internal"
ので、「より標準的」と見なされる可能性があるため、これに固執する可能性があります。
いいえ、ありません。
どちらのバリアントも、同じアセンブリおよび子孫クラスからアクセスできるメンバーを定義します。
これは、同じアセンブリからの論理 "OR" => Internal:を使用したビット演算です。保護:派生クラスから。「保護されたAND内部」は意味がありません:-)