2013-02-17 20 views
6
public class TestClass 
{ 
    protected internal int FieldA; 
    internal protected int FieldB;  
} 

保護された社内メンバーと社外メンバーの違いはありますか?内部保護と内部保護の違いはありますか?

+5

いいえありません。しかし、それを理解できないという罠に陥らないでください。内部 '。それは 'protected && internal'を意味するものではありません。 –

答えて

7

プロテクトされた内部および内部プロクター メンバーの違いはありますか?

違いはありません。

protected internalは、protectedまたはinternalを意味します。

internal protected手段internalまたはprotected

型またはメンバーは、それが宣言されている にアセンブリ内の任意のコードによってアクセスすることができ、別の アセンブリ内の派生クラス内から又は。別のアセンブリからのアクセスは、保護された 内部要素が宣言されているクラスから派生したクラス 宣言内で行われなければならず、派生クラス型の インスタンスを通じて行わなければなりません。

protected internal commanly used。 internal protectedについては、MSDNページには説明がありません。

また、それは論理「OR」=>内部でビット演算だフィル・ハーククールなブログの記事にWhat Does Protected Internal Mean?

+0

'internal'または' internal'ですか? –

+0

@SimonWhitehead固定、ありがとう。 –

2

いいえ、違いはありません。あなたは望む順序で宣言することができます。 staticをアクセス修飾子の前または後に宣言できるのとまったく同じです。

唯一の違いは、あなたとあなたのチームが決定するものでなければなりません。通常は、と1つのスタイルに固執して、混乱や前提を避けるか、少なくとも読書時に一貫性を持たせたいと思うでしょう。

編集:今、私はそれを考えると、私はよく"internal protected"を見ることを思い出しません。 MSDN page for access modifiersでは"protected internal"と表示されているので、「標準」と見なされる可能性があります。

1

いいえ、ありません。

両方のバリアントは、同じアセンブリから子孫クラスからアクセス可能なメンバーを定義します。

+0

あなたは「OR」を意味しますか? –

+0

この特定の場合、「and」と「or」は同じ意味を持ちます。 –

1

をチェックアウト:同じアセンブリから。 protected:派生クラスから。 "protected AND internal"は意味がありません:-)

関連する問題