Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 63994|Odpoveď: 1

[Zdroj] C# dedí určenie IsAssignableFrom, IsSubclassOf

[Kopírovať odkaz]
Zverejnené 18. 11. 2019 11:45:09 | | |
Niekedy musíme zistiť, či trieda implementuje rozhranie, napríklad pri použití reflexného mechanizmu na nájdenie konkrétneho typu.

Jednoducho povedané, môžete použiť metódu Type.IsAssignableFrom:

IsAssignableFrom označuje, či je možné typ BarClass priradiť rozhraniu IFoo, takže podmienkou na vrátenie true je, že BarClass priamo alebo nepriamo implementuje rozhranie IFoo. Existuje tiež metóda v type type, IsSubclassOf, ktorá jeIbaPoužíva sa na posudzovanie dedičných vzťahov tried, ako napríklad

Naznačuje, že FooClass je zdedený z BarClass.

Samozrejme, IsAssignableFrom sa dá použiť aj na určenie dedičnosti.

Takže pre nasledujúci kód:

rozhranie I { /* ... */ }
trieda A : Ja { /* ... */ }
trieda B : A { /* ... */ }
Návratové hodnoty pre IsSubclassOf a IsAssignableFrom sú:

typeof(A).isAssignableFrom(typeof(I)); nepravdivé
typeof(A).isSubClassOf(typeof(I)); nepravdivé
  
typeof(I).isAssignableFrom(typeof(A)); pravda
typeof(I).isAssignableFrom(typeof(B)); pravda
typeof(B).isSubClassOf(typeof(I)); nepravdivé
  
typeof(A).isAssignableFrom(typeof(A)); pravda
typeof(A).isSubClassof(typeof(A)); nepravdivé
  
typeof(A).isAssignableFrom(typeof(B)); pravda
typeof(A).isSubClassof(typeof(B)); nepravdivé
  
typeof(B).isAssignableFrom(typeof(A)); nepravdivé
typeof(B).isSubClassof(typeof(A)); pravda






Predchádzajúci:Konverzia časových pečiatok .NET Core (10-bit)
Budúci:EF Core pit: DbContextPool spôsobuje vyčerpanie spojenia databázového poolu
 Prenajímateľ| Zverejnené 19. 3. 2021 13:39:47 |
Dostane objekt, ktorý dedí generickú základnú triedu

Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com