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();
public virtual Type[] GetTypes ();
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
Ö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 nesnesi içerirken, özelliği yüklenemeyen LoaderExceptions 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.
array<ParameterInfo^>^ Params = Method->GetParameters();
// Display information about method parameters.
// Param = sParam1
// Type = System::String
// Position = 0
// Optional=False
for each ( ParameterInfo^ Param in Params )
{
Console::WriteLine( "Param= {0}", Param->Name );
Console::WriteLine( " Type= {0}", Param->ParameterType );
Console::WriteLine( " Position= {0}", Param->Position );
Console::WriteLine( " Optional= {0}", Param->IsOptional );
}
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 ortak 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 türe bağımlıysa (örneğin, ikinci derlemedeki bir türden türetiliyorsa), 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.
Not
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.