Kun käytät AOP:n kasvokkain -ohjelmointia, sinun täytyy asettaa metodi virtuaaliseksi metodiksi, jotta metodi sieppaa normaalisti. Koska virtuaalisia avainsanoja voi jättää huomaamatta liikaa, käytä reflektiota saadaksesi kaikki menetelmät selvittääksesi, ohittaako avainsanoja. Kun käytetään heijastuksen hankintamenetelmää, saadaan suuri määrä anonyymejä funktioita, <>f__AnonymousType0 saadaan, ja tässä artikkelissa käytetään heijastuspoissulkujen anonyymi menetelmää saadakseen kaikki metodit kaikille objekteille, jotka perivät geneerisen perusluokan, ja teksti sisältää .NET- ja .NET Core -versiot.
Hanki ensin nykyinen kokoonpano
.NET-versio:
.NET Core -versio:
Perusluokka, jonka palveluobjekti perii,
Heijastuksen hankintamenetelmä ei-virtuaalinen
Kun saat kaikki assemblyt ja kaikki metodit refleksoinnin kautta, saatat saada AnonymousType-anonyymin metodin, kuten alla olevassa kuvassa näkyy:
.NET-versio
.NET Core -versio
Selvitä, onko kyseessä anonyymi funktio
Anonyymien funktioiden Namespace ja DeclaringType ovat nollaavareita, ja ei-anonyymien funktioiden Namespace ei saa olla nolla! |