FieldInfo.IsFamilyAndAssembly Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar ett värde som anger om synligheten för det här fältet beskrivs av FamANDAssem. Det innebär att fältet kan nås från härledda klasser, men bara om de finns i samma sammansättning.
public:
property bool IsFamilyAndAssembly { bool get(); };
public bool IsFamilyAndAssembly { get; }
member this.IsFamilyAndAssembly : bool
Public ReadOnly Property IsFamilyAndAssembly As Boolean
Egenskapsvärde
true om åtkomsten till det här fältet beskrivs exakt av FamANDAssem, annars , false.
Implementeringar
Exempel
I följande kodexempel definieras fält med varierande synlighetsnivåer och värdena för egenskaperna IsAssembly, IsFamily, IsFamilyOrAssemblyoch IsFamilyAndAssembly .
using System;
using System.Reflection;
public class Example
{
public int f_public;
internal int f_internal;
protected int f_protected;
protected internal int f_protected_public;
private protected int f_private_protected;
public static void Main()
{
Console.WriteLine("\n{0,-30}{1,-18}{2}", "", "IsAssembly", "IsFamilyOrAssembly");
Console.WriteLine("{0,-21}{1,-18}{2,-18}{3}\n",
"", "IsPublic", "IsFamily", "IsFamilyAndAssembly");
foreach (FieldInfo f in typeof(Example).GetFields(
BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public))
{
Console.WriteLine("{0,-21}{1,-9}{2,-9}{3,-9}{4,-9}{5,-9}",
f.Name,
f.IsPublic,
f.IsAssembly,
f.IsFamily,
f.IsFamilyOrAssembly,
f.IsFamilyAndAssembly
);
}
}
}
/* This code example produces output similar to the following:
IsAssembly IsFamilyOrAssembly
IsPublic IsFamily IsFamilyAndAssembly
f_public True False False False False
f_internal False True False False False
f_protected False False True False False
f_protected_public False False False True False
f_private_protected False False False False True
*/
Imports System.Reflection
Public class Example
Public f_Public As Integer
Friend f_Friend As Integer
Protected f_Protected As Integer
Protected Friend f_Protected_Friend As Integer
Private Protected f_Private_Protected() As Integer
Public Shared Sub Main()
Console.WriteLine(vbCrLf & _
"{0,-30}{1,-18}{2}", "", "IsAssembly", "IsFamilyOrAssembly")
Console.WriteLine("{0,-21}{1,-18}{2,-18}{3}" & vbCrLf, _
"", "IsPublic", "IsFamily", "IsFamilyAndAssembly")
For Each f As FieldInfo In GetType(Example).GetFields( _
BindingFlags.Instance Or BindingFlags.NonPublic Or BindingFlags.Public)
Console.WriteLine("{0,-21}{1,-9}{2,-9}{3,-9}{4,-9}{5,-9}", _
f.Name, _
f.IsPublic, _
f.IsAssembly, _
f.IsFamily, _
f.IsFamilyOrAssembly, _
f.IsFamilyAndAssembly _
)
Next
End Sub
End Class
' This code example produces output similar to the following:
'
' IsAssembly IsFamilyOrAssembly
' IsPublic IsFamily IsFamilyAndAssembly
'
'f_Public True False False False False
'f_Friend False True False False False
'f_Protected False False True False False
'f_Protected_Friend False False False True False
'f_Private_Protected False False False False True
Kommentarer
Om ett fält har FamANDAssem nivåsynlighet kan det anropas från valfri medlem i en härledd klass som också finns i samma sammansättning, men inte från någon annan typ.
Synligheten för ett fält beskrivs exakt av FieldAttributes.FamANDAssem om synlighetsmodifieraren är private protected i C# eller Private Protected i Visual Basic.