FieldInfo.Attributes 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 필드와 관련된 특성을 가져옵니다.
public:
abstract property System::Reflection::FieldAttributes Attributes { System::Reflection::FieldAttributes get(); };
public abstract System.Reflection.FieldAttributes Attributes { get; }
member this.Attributes : System.Reflection.FieldAttributes
Public MustOverride ReadOnly Property Attributes As FieldAttributes
속성 값
이 필드에 대한 FieldAttributes
입니다.
구현
예제
다음 코드 예제에서는 세 개의 필드를 빌드하고 해당 필드 특성을 표시합니다. 값에는 FieldAttributes
세 번째 필드에 표시된 것처럼 및 Literal
와 같은 Public
둘 이상의 특성이 포함될 수 있습니다.
using namespace System;
using namespace System::Reflection;
using namespace System::Security::Permissions;
public ref class Demo
{
private:
// Make three fields:
// The first field is private.
String^ m_field;
// The second field is public.
public:
String^ Field;
// The third field is public and literal.
literal String^ FieldC = "String C";
Demo() { m_field = "String A"; Field = "String B"; }
};
static void DisplayField(Object^ obj, FieldInfo^ f)
{
// Display the field name, value, and attributes.
//
Console::WriteLine("{0} = \"{1}\"; attributes: {2}",
f->Name, f->GetValue(obj), f->Attributes);
};
void main()
{
Console::WriteLine ("\nReflection.FieldAttributes");
Demo^ d = gcnew Demo();
// Get a Type object for Demo, and a FieldInfo for each of
// the three fields. Use the FieldInfo to display field
// name, value for the Demo object in d, and attributes.
//
Type^ myType = Demo::typeid;
FieldInfo^ fiPrivate = myType->GetField("m_field",
BindingFlags::NonPublic | BindingFlags::Instance);
DisplayField(d, fiPrivate);
FieldInfo^ fiPublic = myType->GetField("Field",
BindingFlags::Public | BindingFlags::Instance);
DisplayField(d, fiPublic);
FieldInfo^ fiConstant = myType->GetField("FieldC",
BindingFlags::Public | BindingFlags::Static);
DisplayField(d, fiConstant);
}
/* This code example produces the following output:
Reflection.FieldAttributes
m_field = "String A"; attributes: Private
Field = "String B"; attributes: Public
FieldC = "String C"; attributes: Public, Static, Literal, HasDefault
*/
using System;
using System.Reflection;
public class Demo
{
// Make three fields:
// The first field is private.
private string m_field = "String A";
// The second field is public.
public string Field = "String B";
// The third field is public const (hence also literal and static),
// with a default value.
public const string FieldC = "String C";
}
public class Myfieldattributes
{
public static void Main()
{
Console.WriteLine ("\nReflection.FieldAttributes");
Demo d = new Demo();
// Get a Type object for Demo, and a FieldInfo for each of
// the three fields. Use the FieldInfo to display field
// name, value for the Demo object in d, and attributes.
//
Type myType = typeof(Demo);
FieldInfo fiPrivate = myType.GetField("m_field",
BindingFlags.NonPublic | BindingFlags.Instance);
DisplayField(d, fiPrivate);
FieldInfo fiPublic = myType.GetField("Field",
BindingFlags.Public | BindingFlags.Instance);
DisplayField(d, fiPublic);
FieldInfo fiConstant = myType.GetField("FieldC",
BindingFlags.Public | BindingFlags.Static);
DisplayField(d, fiConstant);
}
static void DisplayField(Object obj, FieldInfo f)
{
// Display the field name, value, and attributes.
//
Console.WriteLine("{0} = \"{1}\"; attributes: {2}",
f.Name, f.GetValue(obj), f.Attributes);
}
}
/* This code example produces the following output:
Reflection.FieldAttributes
m_field = "String A"; attributes: Private
Field = "String B"; attributes: Public
FieldC = "String C"; attributes: Public, Static, Literal, HasDefault
*/
Imports System.Reflection
Public Class Demo
' Declare three fields.
' The first field is private.
Private m_field As String = "String A"
'The second field is public.
Public Field As String = "String B"
' The third field is public and const, hence also static
' and literal with a default value.
Public Const FieldC As String = "String C"
End Class
Module Module1
Sub Main()
' Create an instance of the Demo class.
Dim d As New Demo()
Console.WriteLine(vbCrLf & "Reflection.FieldAttributes")
' Get a Type object for Demo, and a FieldInfo for each of
' the three fields. Use the FieldInfo to display field
' name, value for the Demo object in d, and attributes.
'
Dim myType As Type = GetType(Demo)
Dim fiPrivate As FieldInfo = myType.GetField("m_field", _
BindingFlags.NonPublic Or BindingFlags.Instance)
DisplayField(d, fiPrivate)
Dim fiPublic As FieldInfo = myType.GetField("Field", _
BindingFlags.Public Or BindingFlags.Instance)
DisplayField(d, fiPublic)
Dim fiConstant As FieldInfo = myType.GetField("FieldC", _
BindingFlags.Public Or BindingFlags.Static)
DisplayField(d, fiConstant)
End Sub
Sub DisplayField(ByVal obj As Object, ByVal f As FieldInfo)
' Display the field name, value, and attributes.
'
Console.WriteLine("{0} = ""{1}""; attributes: {2}", _
f.Name, f.GetValue(obj), f.Attributes)
End Sub
End Module
' This code example produces the following output:
'
'm_field = "String A"; attributes: Private
'Field = "String B"; attributes: Public
'FieldC = "String C"; attributes: Public, Static, Literal, HasDefault
설명
모든 멤버에는 특정 유형의 멤버와 관련하여 정의된 특성 집합이 있습니다.
FieldAttributes
는 이 필드가 프라이빗 필드인지, 정적 필드인지 여부를 사용자에게 알릴 수 있습니다.
속성을 얻으려면 Attributes
먼저 클래스 Type
를 가져옵니다. 에서 를 Type
가져옵니다 FieldInfo
. 에서 를 FieldInfo
가져옵니다 Attributes
.
적용 대상
추가 정보
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET