Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Phương thức Type.GetProperties() trong C#

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