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