Phương thức Type.GetProperties() trong C# được dùng để lấy các thuộc tính của kiểu hiện tại.
Cú pháp
Hai nạp chồng:
public PropertyInfo[] GetProperties(); public abstract PropertyInfo[] GetProperties(BindingFlags bindingAttr);
Tham số bindingAttr là kết hợp bitwise của các giá trị liệt kê chỉ định cách tìm kiếm được thực hiện.
Ví dụ 1 - Lấy thuộc tính của System.Type
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());
}
}
Kết quả
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
Ví dụ 2 - Lấy thuộc tính của string
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());
}
}
Kết quả
Count of Properties = 2 Properties... Char Chars [Int32] Int32 Length