Megosztás a következőn keresztül:


Type.GetType kivételt eredményez az összes érvénytelen elemtípus esetében

Type.GetType(String)Mostantól minden érvénytelen elemtípusú típushoz ad egy TypeLoadException elemet, beleértve a byref-of-byref típust is. Korábban ez a módszer néhány sarokesethez adott vissza null .

Előző viselkedés

Type.GetType(String)TypeLoadException a legtöbb érvénytelen elemtípussal rendelkező típushoz dobta, kivéve néhány sarokesetet, például byref-of-byref. Például a .NET 7-ben visszaadott null következő kód:

Type.GetType("System.Object&&")

Új viselkedés

Type.GetType(String)TypeLoadException érvénytelen elemtípusú összes típushoz ad egy elemet, beleértve a byref-of-byref típust is. Például a következő kód (amely a .NET 7-ben van visszaadva null ) kivételt eredményez a .NET 8-ban:

Type.GetType("System.Object&&")

Bevezetett verzió

.NET 8

A kompatibilitástörő változás típusa

Ez a változás viselkedésbeli változás.

A változás oka

A .NET-nek több típusnév-elemzője volt, és nem volt szokatlan számukra, hogy eltérő viselkedésük van az ilyen sarokesetekben. A viselkedés egységesítve lett:

  • Ha a megadott névvel rendelkező típus nem található, adja vissza a következőt null: .
  • Ha a típus érvénytelen, dobjon.TypeLoadException Az "Érvénytelen" típusok közé tartoznak az általános korlátozási szabálysértéseket tartalmazó típusok, vagy a paramétertípusok érvénytelen összetétele.

Ha a kód ezekhez a sarokesetekhez egy visszatérési értékre támaszkodott null , módosítsa úgy, hogy helyette elkapjon egy TypeLoadException értéket.

Érintett API-k