Exportovat (0) Tisk
Rozbalit vše
Tento článek byl přeložen strojově počítačem. Původní text zobrazíte přesunutím ukazatele myši nad jednotlivé věty článku. Další informace
Překlad
Originál
Toto téma nebylo dosud ohodnoceno - Ohodnotit toto téma

Určení úplných názvů typů

Je nutné zadat názvy typu mít platný vstup do různých operací odraz. Zadejte úplný název se skládá z specifikaci název sestavení, specifikace obor názvů a název typu. Specifikace název typu používají metody jako Type.GetType, Module.GetType, ModuleBuilder.GetType, a Assembly.GetType.

Backusova-Naurova forma (BNF) definuje syntaxi formální jazyky. Následující tabulka uvádí BNF lexikální pravidla, které popisují, jak rozpoznat platné vstupní. Terminály (prvky, které nejsou dále reducible) jsou zobrazeny velkými písmeny. Nonterminals (prvky, které jsou dále reducible) jsou uvedeny v-case nebo jednotlivě nabízené řetězců, ale jednoduché uvozovky (') není součástí samotné syntaxe. Znak svislá čára (|) označuje pravidla, které mají subrules.

Gramatika BNF typu plně kvalifikované názvy

Typ TypeSpec: = ReferenceTypeSpec

                                        |     SimpleTypeSpec

ReferenceTypeSpec: = SimpleTypeSpec "&

SimpleTypeSpec: = PointerTypeSpec

                                        |     ArrayTypeSpec

                                        |     Název_typu

PointerTypeSpec: = SimpleTypeSpec ' *'

ArrayTypeSpec: = SimpleTypeSpec [ReflectionDimension]

                                        |     SimpleTypeSpec [ReflectionEmitDimension]

ReflectionDimension: = "*"

                                        |     ReflectionDimension ',' ReflectionDimension

                                        |     NOTOKEN

ReflectionEmitDimension: = "*"

                                        |     Číslo ".." Číslo

                                        |     Číslo …"

                                        |     ReflectionDimension ',' ReflectionDimension

                                        |     NOTOKEN

Number                            :=   [0-9]+

TypeName: = NamespaceTypeName

                                        |     NamespaceTypeName ',' AssemblyNameSpec

NamespaceTypeName: = NestedTypeName

                                        |     NamespaceSpec '. " NestedTypeName

NestedTypeName: = IDENTIFIKÁTOR

                                        |     NestedTypeName IDENTIFIKÁTOR "+"

NamespaceSpec: = IDENTIFIKÁTOR

                                        |     NamespaceSpec '. " IDENTIFIKÁTOR

AssemblyNameSpec: = IDENTIFIKÁTOR

                                        |     IDENTIFIKÁTOR ',' AssemblyProperties

AssemblyProperties: = AssemblyProperty

                                        |     AssemblyProperties ',' AssemblyProperty

AssemblyProperty: = AssemblyPropertyName '=' AssemblyPropertyValue

Zadejte jméno IDENTIFIKÁTOR je libovolný platný název na základě pravidel jazyka.

K oddělení následující tokeny, při použití jako část IDENTIFIKÁTORU použijte jako řídicí znak zpětného lomítka (\).

Token

Význam

\,

Sestavení oddělovač.

\+

Vnořený typ oddělovače.

\ &

Typ odkazu.

\*

Typ ukazatele.

\[

Oddělovač pole dimenze.

\]

Oddělovač pole dimenze.

\.

Zpětné lomítko před období použijte pouze v případě, že období používá ve specifikaci array. V NamespaceSpec období nepoužívejte zpětné lomítko.

\\

Zpětné lomítko, podle potřeby jako řetězce literálu.

Všimněte si, že ve všech součástech typ TypeSpec s výjimkou AssemblyNameSpec mezery relevantní. V AssemblyNameSpec mezery před oddělovač ',' jsou důležité, ale po oddělovač ',' mezery jsou ignorovány.

Jako odraz třídy Type.FullName, vrátit pozměnění název, takže vrácené název lze použít při volání GetType, v MyType.GetType(myType.FullName).

Plně kvalifikovaný název typu může být například Ozzy.OutBack.Kangaroo+Wallaby,MyAssembly.

Pokud obor názvů Ozzy.Out+Back, klepněte na znaménko plus musí předcházet zpětné lomítko. Jinak by analyzátor jako oddělovač vnoření. Odraz vyzařuje tento řetězec jako Ozzy.Out\+Back.Kangaroo+Wallaby,MyAssembly.

Minimum informací potřebných sestavení název specifikace je textový název sestavení (IDENTIFIKÁTOR). Podle IDENTIFIKÁTORU podle čárkami oddělený seznam dvojic vlastnosti a hodnoty popsané v následující tabulce. IDENTIFIKÁTOR pojmenování by měla dodržovat pravidla pro pojmenování souborů. IDENTIFIKÁTOR nerozlišuje malá a velká písmena.

Název vlastnosti

Popis

Přípustné hodnoty

Verze

Číslo verze sestavení

Major.minor.Build.Revision, kde hlavní, dílčí, sestavení, a Revize jsou celá čísla od 0 do 65535, včetně.

PublicKey

Úplné veřejného klíče

Řetězcové hodnoty úplné veřejného klíče v šestnáctkovém formátu. Zadat hodnotu null referenční (nic v jazyce Visual Basic) označuje explicitně soukromé sestavení.

PublicKeyToken

Token veřejného klíče (8bajtových hash úplné veřejného klíče)

Řetězec hodnoty token veřejného klíče v šestnáctkovém formátu. Zadat hodnotu null referenční (nic v jazyce Visual Basic) označuje explicitně soukromé sestavení.

Jazyková verze

Sestavení kultury

Kultura sestavení v dokumentu RFC 1766 formátu nebo "neutrální" pro sestavení nezávislý na jazyce (nonsatellite).

Vlastní

Vlastní binary large object (BLOB). Aktuálně používá pouze v sestavení generovaných Native Image Generator (Ngen).

Vlastní řetězec používaný nástroj Native Image Generator mezipaměti sestavení upozornit, že instalaci sestavení je nativní obraz a proto má být nainstalována v mezipaměti nativní obraz. Nazývá se také řetězec zap.

V následujícím příkladu AssemblyName pro jednoduše pojmenované sestavení s výchozí kultury.

com.microsoft.crypto, Culture="" 

Následující příklad ukazuje plně zadaný odkaz pro silně pojmenované sestavení s kultury "en".

com.microsoft.crypto, Culture=en, PublicKeyToken=a5d015c7d5a0b012,
    Version=1.0.0.0 

Zobrazit následující příklady jednotlivých částečně zadaná AssemblyName, který lze vyhovět silný nebo jednoduše pojmenované sestavení.

com.microsoft.crypto
com.microsoft.crypto, Culture=""
com.microsoft.crypto, Culture=en 

Zobrazit následující příklady jednotlivých částečně zadaná AssemblyName, které musí být splněny pouze pojmenované sestavení.

com.microsoft.crypto, Culture="", PublicKeyToken=null 
com.microsoft.crypto, Culture=en, PublicKeyToken=null

Zobrazit následující příklady jednotlivých částečně zadaná AssemblyName, které musí být splněny silně pojmenované sestavení.

com.microsoft.crypto, Culture="", PublicKeyToken=a5d015c7d5a0b012
com.microsoft.crypto, Culture=en, PublicKeyToken=a5d015c7d5a0b012,
    Version=1.0.0.0

SimpleTypeSpec * představuje nespravovaný ukazatel. Například chcete-li získat ukazatel zadejte MyType pomocí Type.GetType("MyType*"). Získání ukazatele na ukazatel zadejte MyType, použijte Type.GetType("MyType**").

SimpleTypeSpec & představuje spravovaný ukazatel nebo odkaz. Například chcete-li získat odkaz na zadejte MyType pomocí Type.GetType("MyType &"). Všimněte si, že na rozdíl od ukazatelů, odkazy jsou omezeny na jednu úroveň.

V gramatika BNF ReflectionEmitDimension platí pouze pro definice neúplné typu načíst pomocí ModuleBuilder.GetType. Definice typu nedokončeného jsou TypeBuilder objekty, které jsou konstruovány v Reflection.Emit , ale na kterém TypeBuilder.CreateType nebyla volána. ReflectionDimension lze načíst všechny definice typu dokončení, je typ, který byl načten.

Matice se přistupuje v zrcadlení určením pořadí pole:

  • Type.GetType("MyArray[]")získá jeden dimenze matice s dolní mez 0.

  • Type.GetType("MyArray[*]")získá jeden dimenze matice s neznámou dolní mez.

  • Type.GetType("MyArray[][]")získá dvourozměrné pole pole.

  • Type.GetType("MyArray[*,*]")a Type.GetType("MyArray[,]") získá obdélníkové dvojrozměrné pole s neznámou dolní meze.

Všimněte si, že z runtime pohledu, MyArray[] != MyArray[*], ale pro vícedimenzionální pole dva zápisy jsou ekvivalentní. Type.GetType("MyArray [,]") == Type.GetType("MyArray[*,*]") Vyhodnocen jako true.

Pro ModuleBuilder.GetType, MyArray[0..5] označuje vázána jedna dimenze matice 6 nižší velikosti 0. MyArray[4…] označuje jedné dimenze matice neznámé velikosti a dolní mez 4.

Byl tento obsah pro vás užitečný?
(Zbývající počet znaků: 1500)
Děkujeme za váš názor.

Obsah vytvořený komunitou

Přidat
Zobrazit:
© 2014 Microsoft. Všechna práva vyhrazena.