Assembly.GetTypes Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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.