reflection.emit

    10

    2答えて

    動的にクラスを作成する必要があります。ほとんどのものは正常に動作しますが、私はコンストラクタを生成することに固執しています。 AssemblyBuilder _assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(new AssemblyName("MyBuilder"), Assemb

    5

    1答えて

    これはReflection.Emitを使用するための最初の試みです。私は動的に提供されたオブジェクトのプロキシを構築しています。プロキシは、publicプロパティへのアクセスを提供されたオブジェクトに渡します。私が受けてるのエラーがある:アクセス方法への方法により、 試み「ProxyObject.get_AccessorName()」 「NS.CoreObject.get_AccessorName

    7

    1答えて

    自分の言語用にコンパイラを作っているので、私はReflection.Emitフレームワークを使ってMSILコードを生成しようとしています。ローカル変数を宣言するときにはintを使用するとうまく動作します。しかし、私がまだコンパイルしていない型のローカル変数を宣言したいときは、DeclareLocal()が引数としてTypeを引数に取るので、問題が発生します。それは私のコンパイルされていないクラスで

    5

    1答えて

    私はSystem.ReflectionとSystem.Reflection.EmitによってILでif-elseを処理しようとしています。オブジェクトのインスタンスに設定されていない オブジェクト参照: Label inequality = new System.Reflection.Emit.Label(); Label equality = new System.Reflection.Emi

    5

    1答えて

    Stackoverflowとグーグルアローを検索した後、DynamicMethodsで生成されたコードをデバッグするためのソリューションが古くて扱いにくいようです。 確かにLCG(軽量コード生成)がリリースされてから4年以上の間に、誰かがより良い方法を見つけたに違いない。 動的ILを作成してデバッグすることを確認する最も簡単な方法は何ですか? peverifyやILDasmなどを使用していますか?

    15

    2答えて

    PropertyInfoプロパティを取得して設定する方法が遅いのはなぜですか? Reflection.Emitを使用してデリゲートを作成すると、はるかに高速です。 彼らは何か重要なことをしているので、彼らが取る時間は正当化できるのですか?つまり、私はReflection.Emitを使用して、デリゲートを作成するのではなく、PropertyInfo(開発速度を除いて)のGetValueとSetVal

    3

    1答えて

    私はSystem.Reflection.Emit名前空間の使い方を覚えました。私は今ILGeneratorの使用にこのコードを変換しようとしている:どのようにオブジェクトを作成する:コードのこの作品のために MyClass c = new MyClass("MyClass"); c.Do(":D"); 私は3つの質問がありますか?コンストラクタを呼び出す方法とクラスのメソッドを呼び出す方法?

    2

    3答えて

    パブリッククラスのパブリック仮想メソッドのldvirtftnによって、匿名でホストされた動的メソッドを使用すると誰が説明できないのですか?私は、次のアセンブリレベルが同様に属性を設定します。ここでは [assembly: SecurityTransparent] [assembly: SecurityRules(SecurityRuleSet.Level2,SkipVerificationInF

    3

    2答えて

    ExpandoObject、DynamicObjectまたはReflection.Emitを使用してグリッドを動的に作成する方法を見つけたと同時に、CRUD操作を許可していますか? Reflection.Emitを使用してグリッド列を動的に作成してデータを表示することはできましたが、行を編集しようとするとセルの内容は消えます。 ご協力いただければ幸いです!

    6

    1答えて

    私は、より良いコールドスタートアップのために、プリコンパイルを可能にするために、DynamicMethodを広く使用するコードを移植しています。私はDynamicMethodをJITでき、可視性チェックをスキップして実行することができ、非公開のネストされた型にアクセスできることに気付きましたが、通常のアセンブリはできません(または、明白なローダーオプションが表示されません)。この意思決定の背後にあ