Type.GetProperty Metoda

Definicja

Pobiera określoną właściwość bieżącego Typeelementu .

Przeciążenia

GetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[])

Wyszukuje określoną właściwość, której parametry są zgodne z określonymi typami argumentów i modyfikatorami, przy użyciu określonych ograniczeń powiązania.

GetProperty(String, Type, Type[], ParameterModifier[])

Wyszukuje określoną właściwość publiczną, której parametry są zgodne z określonymi typami argumentów i modyfikatorami.

GetProperty(String, Type[])

Wyszukuje określoną właściwość publiczną, której parametry są zgodne z określonymi typami argumentów.

GetProperty(String, Type, Type[])

Wyszukuje określoną właściwość publiczną, której parametry są zgodne z określonymi typami argumentów.

GetProperty(String, BindingFlags)

Wyszukuje określoną właściwość przy użyciu określonych ograniczeń powiązania.

GetProperty(String)

Wyszukuje właściwość publiczną o określonej nazwie.

GetProperty(String, Type)

Wyszukuje właściwość publiczną o określonej nazwie i zwracany typ.

GetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[])

Źródło:
Type.cs
Źródło:
Type.cs
Źródło:
Type.cs

Wyszukuje określoną właściwość, której parametry są zgodne z określonymi typami argumentów i modyfikatorami, przy użyciu określonych ograniczeń powiązania.

C#
public System.Reflection.PropertyInfo? GetProperty (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, Type? returnType, Type[] types, System.Reflection.ParameterModifier[]? modifiers);
C#
public System.Reflection.PropertyInfo GetProperty (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, Type returnType, Type[] types, System.Reflection.ParameterModifier[] modifiers);

Parametry

name
String

Ciąg zawierający nazwę właściwości do pobrania.

bindingAttr
BindingFlags

Bitowa kombinacja wartości wyliczenia, które określają sposób przeprowadzania wyszukiwania.

-lub-

Default , aby zwrócić wartość null.

binder
Binder

Obiekt, który określa zestaw właściwości i umożliwia powiązanie, które może obejmować wybór metody przeciążonej, wymuszanie typów argumentu i wywołanie elementu członkowskiego przez odbicie.

-lub-

Odwołanie o wartości null (Nothing w Visual Basic) do używania elementu DefaultBinder.

returnType
Type

Zwracany typ właściwości.

types
Type[]

Tablica Type obiektów reprezentujących liczbę, kolejność i typ parametrów dla właściwości indeksowanej do pobrania.

-lub-

Pusta tablica typu Type (czyli type[] types = new Type[0]), aby uzyskać właściwość, która nie jest indeksowana.

modifiers
ParameterModifier[]

Tablica ParameterModifier obiektów reprezentujących atrybuty skojarzone z odpowiednim elementem w tablicy types . Domyślny konsolidator nie przetwarza tego parametru.

Zwraca

Obiekt reprezentujący właściwość zgodną z określonymi wymaganiami, jeśli zostanie znaleziony; w przeciwnym razie , null.

Implementuje

Wyjątki

Znaleziono więcej niż jedną właściwość o określonej nazwie i dopasowywanie określonych ograniczeń powiązania.

name to null.

-lub-

types to null.

Parametr types jest wielowymiarowy.

-lub-

Parametr modifiers jest wielowymiarowy.

-lub-

types i modifiers nie mają tej samej długości.

Element elementu types to null.

Uwagi

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz dodatkowe uwagi dotyczące interfejsu API dla elementu Type.GetProperty.

Zobacz też

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetProperty(String, Type, Type[], ParameterModifier[])

Źródło:
Type.cs
Źródło:
Type.cs
Źródło:
Type.cs

Wyszukuje określoną właściwość publiczną, której parametry są zgodne z określonymi typami argumentów i modyfikatorami.

C#
public System.Reflection.PropertyInfo? GetProperty (string name, Type? returnType, Type[] types, System.Reflection.ParameterModifier[]? modifiers);
C#
public System.Reflection.PropertyInfo GetProperty (string name, Type returnType, Type[] types, System.Reflection.ParameterModifier[] modifiers);

Parametry

name
String

Ciąg zawierający nazwę właściwości publicznej do pobrania.

returnType
Type

Zwracany typ właściwości.

types
Type[]

Tablica Type obiektów reprezentujących liczbę, kolejność i typ parametrów dla właściwości indeksowanej do pobrania.

-lub-

Pusta tablica typu Type (czyli type[] types = new Type[0]), aby uzyskać właściwość, która nie jest indeksowana.

modifiers
ParameterModifier[]

Tablica ParameterModifier obiektów reprezentujących atrybuty skojarzone z odpowiednim elementem w tablicy types . Domyślny konsolidator nie przetwarza tego parametru.

Zwraca

Obiekt reprezentujący właściwość publiczną zgodną z określonymi wymaganiami, jeśli zostanie znaleziony; w przeciwnym razie , null.

Implementuje

Wyjątki

Znaleziono więcej niż jedną właściwość o określonej nazwie i dopasowywaniu określonych typów argumentów i modyfikatorów.

name to null.

-lub-

types to null.

Parametr types jest wielowymiarowy.

-lub-

Parametr modifiers jest wielowymiarowy.

-lub-

types i modifiers nie mają tej samej długości.

Element elementu types to null.

Przykłady

Poniższy przykład uzyskuje Type obiekt odpowiadający metodzie MyPropertyClass, a właściwość indeksowana tej klasy jest pobierana przy użyciu argumentów przekazanych do GetProperty metody .

C#
using System;
using System.Reflection;

public class MyPropertyClass
{
    private readonly int [,] _myPropertyArray = new int[10,10];
    // Declare an indexer.
    public int this [int i,int j]
    {
        get
        {
            return _myPropertyArray[i,j];
        }
        set
        {
            _myPropertyArray[i,j] = value;
        }
    }
}

public class MyTypeClass
{
    public static void Main()
    {
        try
        {
            Type myType=typeof(MyPropertyClass);
            Type[] myTypeArray = new Type[2];

            // Create an instance of the Type array representing the number, order
            // and type of the parameters for the property.
            myTypeArray.SetValue(typeof(int),0);
            myTypeArray.SetValue(typeof(int),1);

            // Search for the indexed property whose parameters match the
            // specified argument types and modifiers.
            PropertyInfo myPropertyInfo = myType.GetProperty("Item",
                typeof(int),myTypeArray,null);
            Console.WriteLine(myType.FullName + "." + myPropertyInfo.Name +
                " has a property type of " + myPropertyInfo.PropertyType);
         }
        catch(Exception ex)
        {
            Console.WriteLine("An exception occurred " + ex.Message);
        }
    }
}

Uwagi

Właściwość jest uważana za publiczne odbicie, jeżeli ma co najmniej jeden publiczny akcesor. W przeciwnym razie właściwość jest uznawana za prywatną i należy jej użyć BindingFlags.NonPublic | | BindingFlags.InstanceBindingFlags.Static (w języku Visual Basic połącz wartości przy użyciu metody Or), aby ją pobrać.

Mimo że domyślny binder nie przetwarza ParameterModifier (parametr), modifiers można użyć klasy abstrakcyjnej System.Reflection.Binder do napisania niestandardowego powiązania, który przetwarza modifiers. ParameterModifier Jest używany tylko podczas wywoływania międzyoperacyjności modelu COM i obsługiwane są tylko parametry przekazywane przez odwołanie.

W wyszukiwaniu name jest uwzględniana wielkość liter. Wyszukiwanie uwzględnia właściwości wystąpienia statycznego publicznego i publicznego.

Jeśli bieżący Type reprezentuje skonstruowany typ ogólny, ta metoda zwraca PropertyInfo parametry typu zastąpione przez odpowiednie argumenty typu.

Jeśli bieżący Type reprezentuje parametr typu w definicji typu ogólnego lub metody ogólnej, ta metoda przeszukuje właściwości ograniczenia klasy.

Zobacz też

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetProperty(String, Type[])

Źródło:
Type.cs
Źródło:
Type.cs
Źródło:
Type.cs

Wyszukuje określoną właściwość publiczną, której parametry są zgodne z określonymi typami argumentów.

C#
public System.Reflection.PropertyInfo? GetProperty (string name, Type[] types);
C#
public System.Reflection.PropertyInfo GetProperty (string name, Type[] types);

Parametry

name
String

Ciąg zawierający nazwę właściwości publicznej do pobrania.

types
Type[]

Tablica Type obiektów reprezentujących liczbę, kolejność i typ parametrów dla właściwości indeksowanej do pobrania.

-lub-

Pusta tablica typu Type (czyli type[] types = new Type[0]), aby uzyskać właściwość, która nie jest indeksowana.

Zwraca

Obiekt reprezentujący właściwość publiczną, której parametry są zgodne z określonymi typami argumentów, jeśli zostaną znalezione; w przeciwnym razie , null.

Implementuje

Wyjątki

Znaleziono więcej niż jedną właściwość o określonej nazwie i dopasowanie określonych typów argumentów.

name to null.

-lub-

types to null.

Parametr types jest wielowymiarowy.

Element elementu types to null.

Przykłady

Poniższy przykład pobiera Type obiekt klasy zdefiniowanej przez użytkownika, pobiera właściwość tej klasy i wyświetla nazwę właściwości i typ właściwości określonej przez argumenty przekazane do GetPropertyklasy .

C#

using System;
using System.Reflection;

class MyClass3
{
    private readonly int[,] _myArray = { { 1, 2 }, { 3, 4 } };
    // Declare an indexer.
    public int this[int i, int j]
    {
        get
        {
            return _myArray[i, j];
        }
        set
        {
            _myArray[i, j] = value;
        }
    }
}

public class MyTypeClass3
{
    public static void Main(string[] args)
    {
        try
        {
            // Get the Type object.
            Type myType = typeof(MyClass3);
            Type[] myTypeArr = new Type[2];

            // Create an instance of a Type array.
            myTypeArr.SetValue(typeof(int), 0);
            myTypeArr.SetValue(typeof(int), 1);

            // Get the PropertyInfo object for the indexed property Item, which has two integer parameters.
            PropertyInfo myPropInfo = myType.GetProperty("Item", myTypeArr);

            // Display the property.
            Console.WriteLine("The {0} property exists in MyClass3.",
                myPropInfo.ToString());
        }
        catch (NullReferenceException e)
        {
            Console.WriteLine("An exception occurred.");
            Console.WriteLine("Source : {0}", e.Source);
            Console.WriteLine("Message : {0}", e.Message);
        }
    }
}

Uwagi

Właściwość jest uważana za publiczne odbicie, jeżeli ma co najmniej jeden publiczny akcesor. W przeciwnym razie właściwość jest uznawana za prywatną i należy jej użyć BindingFlags.NonPublic | | BindingFlags.InstanceBindingFlags.Static (w języku Visual Basic połącz wartości przy użyciu metody Or), aby ją pobrać.

W wyszukiwaniu name jest uwzględniana wielkość liter. Wyszukiwanie uwzględnia właściwości wystąpienia statycznego publicznego i publicznego.

Jeśli bieżący Type reprezentuje skonstruowany typ ogólny, ta metoda zwraca PropertyInfo parametry typu zastąpione przez odpowiednie argumenty typu.

Jeśli bieżący Type reprezentuje parametr typu w definicji typu ogólnego lub metody ogólnej, ta metoda przeszukuje właściwości ograniczenia klasy.

Zobacz też

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetProperty(String, Type, Type[])

Źródło:
Type.cs
Źródło:
Type.cs
Źródło:
Type.cs

Wyszukuje określoną właściwość publiczną, której parametry są zgodne z określonymi typami argumentów.

C#
public System.Reflection.PropertyInfo? GetProperty (string name, Type? returnType, Type[] types);
C#
public System.Reflection.PropertyInfo GetProperty (string name, Type returnType, Type[] types);

Parametry

name
String

Ciąg zawierający nazwę właściwości publicznej do pobrania.

returnType
Type

Zwracany typ właściwości.

types
Type[]

Tablica Type obiektów reprezentujących liczbę, kolejność i typ parametrów dla właściwości indeksowanej do pobrania.

-lub-

Pusta tablica typu Type (czyli typ[] = nowy typ[0]), aby uzyskać właściwość, która nie jest indeksowana.

Zwraca

Obiekt reprezentujący właściwość publiczną, której parametry są zgodne z określonymi typami argumentów, jeśli zostaną znalezione; w przeciwnym razie , null.

Implementuje

Wyjątki

Znaleziono więcej niż jedną właściwość o określonej nazwie i dopasowanie określonych typów argumentów.

name to null.

-lub-

types to null.

Parametr types jest wielowymiarowy.

Element elementu types to null.

Uwagi

Właściwość jest uważana za publiczne odbicie, jeżeli ma co najmniej jeden publiczny akcesor. W przeciwnym razie właściwość jest uznawana za prywatną i należy jej użyć BindingFlags.NonPublic | | BindingFlags.InstanceBindingFlags.Static (w visual basic połącz wartości przy użyciu metody Or), aby ją pobrać.

Wyszukiwanie name jest uwzględniane w wielkości liter. Wyszukiwanie uwzględnia właściwości wystąpienia statycznego publicznego i publicznego.

Jeśli bieżący Type reprezentuje skonstruowany typ ogólny, ta metoda zwraca PropertyInfo parametry typu zastąpione przez odpowiednie argumenty typu.

Jeśli bieżący Type reprezentuje parametr typu w definicji typu ogólnego lub metody ogólnej, ta metoda wyszukuje właściwości ograniczenia klasy.

Zobacz też

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetProperty(String, BindingFlags)

Źródło:
Type.cs
Źródło:
Type.cs
Źródło:
Type.cs

Wyszukuje określoną właściwość przy użyciu określonych ograniczeń powiązania.

C#
public System.Reflection.PropertyInfo? GetProperty (string name, System.Reflection.BindingFlags bindingAttr);
C#
public System.Reflection.PropertyInfo GetProperty (string name, System.Reflection.BindingFlags bindingAttr);

Parametry

name
String

Ciąg zawierający nazwę właściwości do pobrania.

bindingAttr
BindingFlags

Bitowa kombinacja wartości wyliczenia, które określają sposób przeprowadzania wyszukiwania.

-lub-

Default aby zwrócić nullwartość .

Zwraca

Obiekt reprezentujący właściwość zgodną z określonymi wymaganiami, jeśli zostanie znaleziony; w przeciwnym razie , null.

Implementuje

Wyjątki

Znaleziono więcej niż jedną właściwość o określonej nazwie i dopasowywanie określonych ograniczeń powiązania.

name to null.

Przykłady

Poniższy przykład pobiera typ klasy zdefiniowanej przez użytkownika, pobiera właściwość tej klasy i wyświetla nazwę właściwości zgodnie z określonymi ograniczeniami powiązania.

C#

using System;
using System.Reflection;

class MyClass2
{
    // Declare MyProperty.
    public int MyProperty { get; set; }
}

public class MyTypeClass2
{
    public static void Main(string[] args)
    {
        try
        {
            // Get Type object of MyClass2.
            Type myType = typeof(MyClass2);

            // Get the PropertyInfo by passing the property name and specifying the BindingFlags.
            PropertyInfo myPropInfo = myType.GetProperty(
                "MyProperty",
                BindingFlags.Public | BindingFlags.Instance
                );

            // Display Name property to console.
            Console.WriteLine("{0} is a property of MyClass2.", myPropInfo.Name);
        }
        catch (NullReferenceException e)
        {
            Console.WriteLine("MyProperty does not exist in MyClass2." + e.Message);
        }
    }
}

Zobacz też

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetProperty(String)

Źródło:
Type.cs
Źródło:
Type.cs
Źródło:
Type.cs

Wyszukuje właściwość publiczną o określonej nazwie.

C#
public System.Reflection.PropertyInfo? GetProperty (string name);
C#
public System.Reflection.PropertyInfo GetProperty (string name);

Parametry

name
String

Ciąg zawierający nazwę właściwości publicznej do pobrania.

Zwraca

Obiekt reprezentujący właściwość publiczną o określonej nazwie, jeśli zostanie znaleziony; w przeciwnym razie , null.

Implementuje

Wyjątki

Znaleziono więcej niż jedną właściwość o określonej nazwie.

name to null.

Przykłady

Poniższy przykład pobiera Type obiekt klasy zdefiniowanej przez użytkownika, pobiera właściwość tej klasy i wyświetla nazwę właściwości.

C#
using System;
using System.Reflection;

class MyClass1
{
    // Declare MyProperty.
    public int MyProperty { get; set; }
}

public class MyTypeClass1
{
    public static void Main(string[] args)
    {
        try
        {
            // Get the Type object corresponding to MyClass1.
            Type myType = typeof(MyClass1);

            // Get the PropertyInfo object by passing the property name.
            PropertyInfo myPropInfo = myType.GetProperty("MyProperty");

            // Display the property name.
            Console.WriteLine("The {0} property exists in MyClass1.", myPropInfo.Name);
        }
        catch (NullReferenceException e)
        {
            Console.WriteLine("The property does not exist in MyClass1." + e.Message);
        }
    }
}

Uwagi

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz Uwagi dotyczące dodatkowego interfejsu API dla właściwości Type.GetProperty.

Zobacz też

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetProperty(String, Type)

Źródło:
Type.cs
Źródło:
Type.cs
Źródło:
Type.cs

Wyszukuje właściwość publiczną o określonej nazwie i typie zwracania.

C#
public System.Reflection.PropertyInfo? GetProperty (string name, Type? returnType);
C#
public System.Reflection.PropertyInfo GetProperty (string name, Type returnType);

Parametry

name
String

Ciąg zawierający nazwę właściwości publicznej do pobrania.

returnType
Type

Zwracany typ właściwości.

Zwraca

Obiekt reprezentujący właściwość publiczną o określonej nazwie, jeśli zostanie znaleziony; w przeciwnym razie , null.

Implementuje

Wyjątki

Znaleziono więcej niż jedną właściwość o określonej nazwie.

name to null, lub returnType jest null.

Przykłady

Poniższy przykład definiuje klasę z jedną właściwością i pobiera nazwę i typ właściwości.

C#

using System;
using System.Reflection;

class MyPropertyTypeClass
{
    public string MyProperty1 { get; set; } = "Hello World.";
}

class TestClass
{
    static void Main()
    {
        try
        {
            Type myType = typeof(MyPropertyTypeClass);

            // Get the PropertyInfo object representing MyProperty1.
            PropertyInfo myStringProperties1 = myType.GetProperty("MyProperty1", typeof(string));

            Console.WriteLine("The name of the first property of MyPropertyTypeClass is {0}.",
                myStringProperties1.Name);
            Console.WriteLine("The type of the first property of MyPropertyTypeClass is {0}.",
                myStringProperties1.PropertyType);
        }
        catch (ArgumentNullException e)
        {
            Console.WriteLine("ArgumentNullException :" + e.Message);
        }
        catch (AmbiguousMatchException e)
        {
            Console.WriteLine("AmbiguousMatchException :" + e.Message);
        }
        catch (NullReferenceException e)
        {
            Console.WriteLine("Source : {0}", e.Source);
            Console.WriteLine("Message : {0}", e.Message);
        }
        //Output:
        //The name of the first property of MyPropertyTypeClass is MyProperty1.
        //The type of the first property of MyPropertyTypeClass is System.String.
    }
}

Uwagi

Właściwość jest uważana za publiczne odbicie, jeżeli ma co najmniej jeden publiczny akcesor. W przeciwnym razie właściwość jest uznawana za prywatną i należy jej użyć BindingFlags.NonPublic | | BindingFlags.InstanceBindingFlags.Static (w visual basic połącz wartości przy użyciu metody Or), aby ją pobrać.

Wyszukiwanie name jest uwzględniane w wielkości liter. Wyszukiwanie uwzględnia właściwości wystąpienia statycznego publicznego i publicznego.

Jeśli bieżący Type reprezentuje skonstruowany typ ogólny, ta metoda zwraca PropertyInfo parametry typu zastąpione przez odpowiednie argumenty typu.

Jeśli bieżący Type reprezentuje parametr typu w definicji typu ogólnego lub metody ogólnej, ta metoda wyszukuje właściwości ograniczenia klasy.

Zobacz też

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1