FieldInfo::IsFamilyAndAssembly Property
Gets a value indicating whether the visibility of this field is described by FieldAttributes::FamANDAssem; that is, the field can be accessed from derived classes, but only if they are in the same assembly.
Assembly: mscorlib (in mscorlib.dll)
Property Value
Type: System::Booleantrue if access to this field is exactly described by FieldAttributes::FamANDAssem; otherwise, false.
Implements
_FieldInfo::IsFamilyAndAssemblyIf a field has FamANDAssem level visibility, it can be called from any member in a derived class that is also in the same assembly, but not from any other type.
The visibility of a field is exactly described by FieldAttributes::FamANDAssem if the visibility modifier is protected private in C++. Fields with this visibility cannot be defined in Visual Basic or C#.
The following code example defines fields with varying levels of visibility, and displays the values of their IsAssembly, IsFamily, IsFamilyOrAssembly, and IsFamilyAndAssembly properties.
Note |
|---|
The Visual Basic and C# languages cannot define fields with FieldAttributes::FamANDAssem visibility; that access level appears only in the C++ example. |
using namespace System; using namespace System::Reflection; public ref class Example { public: int f_public; internal: int f_internal; protected: int f_protected; protected public: int f_protected_public; protected private: int f_protected_private; }; 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"); for each (FieldInfo^ f in Example::typeid->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_protected_private False False False False True */
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
