Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 63994|Vastaus: 1

[Lähde] C# perii määrittelyn IsAssignableFrom, IsSubclassOf

[Kopioi linkki]
Julkaistu 18.11.2019 11.45.09 | | |
Joskus meidän täytyy selvittää, toteuttaako luokka rajapinnan, esimerkiksi kun käytetään heijastusmekanismia tietyn tyypin löytämiseen.

Yksinkertaisesti sanottuna voit käyttää Type.IsAssignableFrom-metodia:

IsAssignableFrom kertoo, voidaanko BarClass-tyyppi määrittää IFoo-rajapinnalle, joten ehto, että se palautuu true -arvoon, on, että BarClass toteuttaa suoraan tai epäsuorasti IFoo-rajapinnan. Tyyppityypissä on myös metodi, IsSubclassOf, joka onVainKäytetään luokkien perintösuhteiden arviointiin, kuten

Viittaa siihen, että FooClass on peritty BarClassilta.

Tietenkin IsAssignableFrom-menetelmää voidaan käyttää myös periytymisen määrittämiseen.

Joten, seuraavalle koodille:

Käyttöliittymä I { /* ... */ }
luokka A : I { /* ... */ }
luokka B : A { /* ... */ }
IsSubclassOf ja IsAssignableFrom palautusarvot ovat:

typeof(A).isAssignableFrom(typeof(I)); väärä
typeof(A).isSubClassOf(typeof(I)); väärä
  
typeof(I).isAssignableFrom(typeof(A)); Totta
typeof(I).isAssignableFrom(typeof(B)); Totta
typeof(B).isSubClassOf(typeof(I)); väärä
  
typeof(A).isAssignableFrom(typeof(A)); Totta
typeof(A).isSubClassof(typeof(A)); väärä
  
typeof(A).isAssignableFrom(typeof(B)); Totta
typeof(A).isSubClassof(typeof(B)); väärä
  
typeof(B).isAssignableFrom(typeof(A)); väärä
typeof(B).isSubClassof(typeof(A)); Totta






Edellinen:.NET Core -aikaleiman muunnos (10-bittinen)
Seuraava:EF Core -kuoppa: DbContextPool aiheuttaa tietokantayhteyspoolin yhteyden ehtymisen
 Vuokraisäntä| Julkaistu 19.3.2021 13.39.47 |
Saa objektin, joka perii geneerisen perusluokan

Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com