FieldInfo.IsSpecialName 属性

获取一个值,该值指示是否已在 FieldAttributes 枚举数中设置相应的 SpecialName 属性 (Attribute)。

**命名空间:**System.Reflection
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
Public ReadOnly Property IsSpecialName As Boolean
用法
Dim instance As FieldInfo
Dim value As Boolean

value = instance.IsSpecialName
public bool IsSpecialName { get; }
public:
virtual property bool IsSpecialName {
    bool get () sealed;
}
/** @property */
public final boolean get_IsSpecialName ()
public final function get IsSpecialName () : boolean

属性值

如果在 FieldAttributes 中设置了 SpecialName 属性 (Attribute),则为 true;否则为 false

备注

一些名称可能需要某些编译器特殊处理,以下划线字符 (_) 打头或包含下划线字符的名称、属性 (Property) 访问器和运算符重载方法即是这类名称的例子。

示例

下面的示例返回一个值,该值指示类中的字段是否包含 SpecialName 属性 (Attribute)。

Imports System
Imports System.Reflection
Imports System.ComponentModel.Design
Imports Microsoft.VisualBasic

Class FieldInfo_IsSpecialName

    Public Shared Sub Main()
        Try
            ' Get the type handle of a specified class.
            Dim myType As Type = GetType(ViewTechnology)

            ' Get the fields of a specified class.
            Dim myField As FieldInfo() = myType.GetFields()

            Console.WriteLine(ControlChars.Cr + "Displaying fields that have SpecialName attributes:" + ControlChars.Cr)
            Dim i As Integer
            For i = 0 To myField.Length - 1
                ' Determine whether or not each field is a special name.
                If myField(i).IsSpecialName Then
                    Console.WriteLine("The field {0} has a SpecialName attribute.", myField(i).Name)
                End If
            Next i
        Catch e As Exception
            Console.WriteLine("Exception : {0} ", e.Message.ToString())
        End Try
    End Sub 'Main
End Class 'FieldInfo_IsSpecialName
using System;
using System.Reflection;
using System.ComponentModel.Design;


class FieldInfo_IsSpecialName
{
    public static void Main()
    {     
        try
        {
            // Get the type handle of a specified class.
            Type myType = typeof(ViewTechnology);
         
            // Get the fields of the specified class.
            FieldInfo[] myField = myType.GetFields();

            Console.WriteLine("\nDisplaying fields that have SpecialName attributes:\n");
            for(int i = 0; i < myField.Length; i++)
            {
                // Determine whether or not each field is a special name.
                if(myField[i].IsSpecialName)
                {
                    Console.WriteLine("The field {0} has a SpecialName attribute.",
                        myField[i].Name);
                }
            }
        }
        catch(Exception e)
        {
            Console.WriteLine("Exception : {0} " , e.Message);
        }
    }
}
#using <system.dll>

using namespace System;
using namespace System::Reflection;
using namespace System::ComponentModel::Design;

int main()
{
   try
   {
      // Get the type handle of a specified class.
      Type^ myType = ViewTechnology::typeid;

      // Get the fields of the specified class.
      array<FieldInfo^>^myField = myType->GetFields();
      Console::WriteLine( "\nDisplaying fields that have SpecialName attributes:\n" );
      for ( int i = 0; i < myField->Length; i++ )
      {
         // Determine whether or not each field is a special name.
         if ( myField[ i ]->IsSpecialName )
         {
            Console::WriteLine( "The field {0} has a SpecialName attribute.", myField[ i ]->Name );
         }
      }
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception : {0} ", e->Message );
   }
}
import System.*;
import System.Reflection.*;
import System.ComponentModel.Design.*;

class FieldInfoIsSpecialName
{
    public static void main(String[] args)
    {
        try {
            // Get the type handle of a specified class.
            Type myType = ViewTechnology.class.ToType();

            // Get the fields of the specified class.
            FieldInfo myField[] = myType.GetFields();
            Console.WriteLine("\nDisplaying fields that have SpecialName" 
                + " attributes:\n");
            for (int i = 0; i < myField.length; i++) {
                // Determine whether or not each field is a special name.
                if (myField[i].get_IsSpecialName()) {
                    Console.WriteLine("The field {0} has a SpecialName" 
                        + " attribute.", myField[i].get_Name());
                }
            }
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception : {0} ", e.get_Message());
        }
    } //main
} //FieldInfoIsSpecialName

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

FieldInfo 类
FieldInfo 成员
System.Reflection 命名空间
FieldAttributes 枚举