Aracılığıyla paylaş


Assembly.GetTypes Yöntem

Tanım

Bu derlemede tanımlanan tüm türleri alır.

public:
 virtual cli::array <Type ^> ^ GetTypes();
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed")]
public virtual Type[] GetTypes();
public virtual Type[] GetTypes();
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed")>]
abstract member GetTypes : unit -> Type[]
override this.GetTypes : unit -> Type[]
abstract member GetTypes : unit -> Type[]
override this.GetTypes : unit -> Type[]
Public Overridable Function GetTypes () As Type()

Döndürülenler

Type[]

Bu derlemede tanımlanan tüm türleri içeren bir dizi.

Uygulamalar

Öznitelikler

Özel durumlar

Derleme, yüklenemeyen bir veya daha fazla tür içeriyor. Bu özel durumun özelliği tarafından Types döndürülen dizi, yüklenen her tür için ve null yüklenemeyen her tür için bir Type nesne içerirkenLoaderExceptions, özelliği yüklenemeyen her tür için bir özel durum içerir.

Örnekler

Aşağıdaki örnek, belirtilen derlemedeki bir türdeki bir yöntemin parametrelerini görüntüler.

Assembly SampleAssembly;
SampleAssembly = Assembly.LoadFrom("c:\\Sample.Assembly.dll");
// Obtain a reference to a method known to exist in assembly.
MethodInfo Method = SampleAssembly.GetTypes()[0].GetMethod("Method1");
// Obtain a reference to the parameters collection of the MethodInfo instance.
ParameterInfo[] Params = Method.GetParameters();
// Display information about method parameters.
// Param = sParam1
//   Type = System.String
//   Position = 0
//   Optional=False
foreach (ParameterInfo Param in Params)
{
    Console.WriteLine("Param=" + Param.Name.ToString());
    Console.WriteLine("  Type=" + Param.ParameterType.ToString());
    Console.WriteLine("  Position=" + Param.Position.ToString());
    Console.WriteLine("  Optional=" + Param.IsOptional.ToString());
}
Dim SampleAssembly As [Assembly]
SampleAssembly = [Assembly].LoadFrom("c:\Sample.Assembly.dll")
' Obtain a reference to a method known to exist in assembly.
Dim Method As MethodInfo = SampleAssembly.GetTypes()(0).GetMethod("Method1")
' Obtain a reference to the parameters collection of the MethodInfo instance.
Dim Params As ParameterInfo() = Method.GetParameters()
' Display information about method parameters.
' Param = sParam1
'   Type = System.String
'   Position = 0
'   Optional=False
For Each Param As ParameterInfo In Params
    Console.WriteLine(("Param=" + Param.Name.ToString()))
    Console.WriteLine(("  Type=" + Param.ParameterType.ToString()))
    Console.WriteLine(("  Position=" + Param.Position.ToString()))
    Console.WriteLine(("  Optional=" + Param.IsOptional.ToString()))
Next

Açıklamalar

Döndürülen dizi iç içe ve genel olmayan türleri içerir. Yalnızca genel türleri almak için yöntemini kullanın GetExportedTypes .

GetTypes Yöntem bir derlemede çağrılırsa ve bu derlemedeki bir tür yüklenmemiş bir derlemedeki bir türe bağımlıysa (örneğin, ikinci derlemedeki bir türden türetilirse), bir ReflectionTypeLoadException oluşturulur. Örneğin, ilk derleme veya ReflectionOnlyLoadFrom yöntemleriyle ReflectionOnlyLoad yüklendiyse ve ikinci derleme yüklenmediyse bu durum oluşabilir. Yöntem çağrıldığında GetTypes ikinci derleme bulunamazsa ve LoadFile yöntemleri kullanılarak Load yüklenen derlemelerle de gerçekleşebilir.

Uyarı

Bir tür başka bir derlemeye iletildiyse, döndürülen diziye dahil değildir. Tür iletme hakkında bilgi için bkz. Ortak Dil Çalışma Zamanında Tür İletme.

Bir nesne dizisi Type yerine bir nesne koleksiyonu TypeInfo almak için özelliğini kullanınAssembly.DefinedTypes.

Şunlara uygulanır