Assembly.GetTypes Yöntem

Tanım

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

public:
 virtual cli::array <Type ^> ^ GetTypes();
public virtual Type[] GetTypes();
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

Ö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 Type yüklenemeyen her tür için bir null 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 ReflectionOnlyLoad yöntemleriyle ReflectionOnlyLoadFrom yüklendiyse ve ikinci derleme yüklenmediyse bu durum oluşabilir. Yöntem çağrıldığında Load ikinci derleme bulunamazsa ve LoadFile yöntemleri kullanılarak GetTypes yüklenen derlemelerle de gerçekleşebilir.

Note

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 TypeInfo yerine bir nesne koleksiyonu Type almak için özelliğini kullanınAssembly.DefinedTypes.

Şunlara uygulanır