この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 27740|答える: 2

[出典] .net/C#は非匿名関数<>f__AnonymousType0メソッドを反映しています

[リンクをコピー]
2020年10月16日 17:51:42に投稿 | | | |
AOPの対面プログラミングを使用する場合、メソッドを仮想メソッドに設定して通常的にインターセプトする必要があります。 バーチャルキーワードを見逃す方法は多すぎるため、リフレクションを使ってキーワードを見逃すかどうかを判断する方法をすべて得てください。 リフレクション取得法を使用すると、多数の匿名関数<>f__AnonymousType0が得られ、本論文では反射除外匿名法を用いてジェネリック基底クラスを継承するすべてのオブジェクトのすべてのメソッドを取得し、本文には.NETおよび.NET Coreバージョンも含まれています。



まずは現在のアセンブリを手に入れてください

.NETバージョン:



.NET Core バージョン:



サービスオブジェクトが継承する基本クラス



反射取得非仮想法

すべてのアセンブリとすべてのメソッドをリフレクションで取得すると、下の図のようにAnonymousType anonymousメソッドが得られます。



.NET バージョン



.NET Core バージョン



匿名関数かどうかを判断してください



匿名関数の名前空間とDeclaringTypeはnullであり、非匿名関数の名前空間はnullであってはなりません!




先の:C# 匿名型学習日誌
次に:自宅のパソコンでノートパッドを使って.NETプログラムを10年間デバッグすること
 地主| 2020年10月16日 18:02:10に投稿 |
アセンブリのすべてのオブジェクトを取得すると、+<>cコンパイラによって生成された匿名オブジェクトがいくつか見つかります
CompilerGeneratedAttributeプロパティは、コンパイラ生成のオブジェクトを区別するために使用できます

コードは以下の通りです:


 地主| 2024年5月29日 11:18:39に投稿 |
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com