Baca dalam bahasa Inggris

Bagikan melalui


Type.DeclaringType Properti

Definisi

Mendapatkan jenis yang mendeklarasikan jenis berlapis saat ini atau parameter jenis generik.

public abstract Type DeclaringType { get; }
public override Type? DeclaringType { get; }
public override Type DeclaringType { get; }

Nilai Properti

Objek Type yang mewakili jenis penutup, jika jenis saat ini adalah jenis berlapis; atau definisi jenis generik, jika jenis saat ini adalah parameter jenis dari jenis generik; atau jenis yang menyatakan metode generik, jika jenis saat ini adalah parameter jenis dari metode generik; jika tidak, null.

Penerapan

Contoh

Contoh ini menampilkan jenis deklarasikan metode dalam kelas turunan.

using System;
using System.Reflection;

public abstract class dtype
{

    public abstract class MyClassA
    {
        public abstract int m();
    }

    public abstract class MyClassB : MyClassA
    {
    }

    public static void Main(string[] args)
    {
        Console.WriteLine("The declaring type of m is {0}.",
            typeof(MyClassB).GetMethod("m").DeclaringType);
    }
}
/* The example produces the following output:

The declaring type of m is dtype+MyClassA.
*/

Keterangan

Jika objek saat ini Type mewakili parameter jenis jenis generik, properti ini mengembalikan definisi jenis generik.

Jika objek saat ini Type mewakili parameter jenis metode generik, properti ini mengembalikan jenis yang berisi definisi metode generik. Jika jenisnya generik, definisi jenis generik dikembalikan. Artinya, kode berikut mengembalikan definisi jenis generik dari List<T> kelas generik, yang berisi ConvertAll metode generik:

Type t = typeof(List<string>).GetMethod("ConvertAll").GetGenericArguments()[0].DeclaringType;

Jika saat ini Type mewakili parameter jenis dalam definisi jenis generik atau metode generik, DeclaringType properti dan DeclaringMethod mengidentifikasi definisi jenis generik atau definisi metode generik di mana parameter jenis generik awalnya ditentukan:

Berlaku untuk

Produk Versi
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Lihat juga