C# 中的 Type.GetProperties() 方法


C# 中的 Type.GetProperties() 方法用于获取当前 Type 的属性。

语法

以下是语法 −

public System.Reflection.PropertyInfo[] GetProperties ();
public abstract System.Reflection.PropertyInfo[] GetProperties (System.Reflection.BindingFlags bindingAttr);

上面,bindingAttr 是指定如何执行搜索的枚举值按位组合。

示例

using System;
using System.Reflection;
public class Demo {
   public static void Main(){
      Type type = typeof(System.Type);
      PropertyInfo[] info = type.GetProperties();
      Console.WriteLine("Properties... ");
      for (int i = 0; i < info.Length; i++)
         Console.WriteLine(" {0}", info[i].ToString());
   }
}

输出

这将产生以下输出 −

Properties...
System.Reflection.MemberTypes MemberType
System.Type DeclaringType
System.Reflection.MethodBase DeclaringMethod
System.Type ReflectedType
System.Runtime.InteropServices.StructLayoutAttribute StructLayoutAttribute
System.Guid GUID
System.Reflection.Binder DefaultBinder
System.Reflection.Module Module
System.Reflection.Assembly Assembly
System.RuntimeTypeHandle TypeHandle
System.String FullName
System.String Namespace
System.String AssemblyQualifiedName
System.Type BaseType
System.Reflection.ConstructorInfo TypeInitializer
Boolean IsNested
System.Reflection.TypeAttributes Attributes
System.Reflection.GenericParameterAttributes GenericParameterAttributes
Boolean IsVisible
Boolean IsNotPublic
Boolean IsPublic
Boolean IsNestedPublic
Boolean IsNestedPrivate
Boolean IsNestedFamily
Boolean IsNestedAssembly
Boolean IsNestedFamANDAssem
Boolean IsNestedFamORAssem
Boolean IsAutoLayout
Boolean IsLayoutSequential
Boolean IsExplicitLayout
Boolean IsClass
Boolean IsInterface
Boolean IsValueType
Boolean IsAbstract
Boolean IsSealed
Boolean IsEnum
Boolean IsSpecialName
Boolean IsImport
Boolean IsSerializable
Boolean IsAnsiClass
Boolean IsUnicodeClass
Boolean IsAutoClass
Boolean IsArray
Boolean IsGenericType
Boolean IsGenericTypeDefinition
Boolean IsConstructedGenericType
Boolean IsGenericParameter
Int32 GenericParameterPosition
Boolean ContainsGenericParameters
Boolean IsByRef
Boolean IsPointer
Boolean IsPrimitive
Boolean IsCOMObject
Boolean HasElementType
Boolean IsContextful
Boolean IsMarshalByRef
System.Type[] GenericTypeArguments
Boolean IsSecurityCritical
Boolean IsSecuritySafeCritical
Boolean IsSecurityTransparent
System.Type UnderlyingSystemType
System.String Name
System.Collections.Generic.IEnumerable`1[System.Reflection.CustomAttributeData] CustomAttributes
Int32 MetadataToken

示例

现在,让我们看看另一个示例来实现 Type.GetProperties() 方法 −

using System;
using System.Reflection;
public class Demo {
   public static void Main(){
      Type type = typeof(string);
      PropertyInfo[] info = type.GetProperties();
      Console.WriteLine("Count of Properties = "+info.Length);
      Console.WriteLine("Properties... ");
      for (int i = 0; i < info.Length; i++)
         Console.WriteLine(" {0}", info[i].ToString());
   }
}

输出

这将产生以下输出 −

Count of Properties = 2
Properties...
Char Chars [Int32]
Int32 Length

更新于:11-11-2019

338 次浏览

开启你的 职业

通过完成课程来获得认证

开始
广告