reflection.emit

    1

    2答えて

    私はコードジェネレータを書いて、これらのコードをmvpパターンで保存したいのですが、解決策としてReflection.Emitを使うことができますか、CodeDomは良いですか? EDIT -------------- 私が最初に私は、実行時にこのコードをコンパイルして実行し、第二に、ソースコードを生成したい、2の作業を行う必要がありますオプション。

    2

    1答えて

    次のプログラム例は、オペコードldvirtftnの使用方法を把握しようとしています。名前には、仮想関数ポインタをスタックにロードするときに使用するオペコードであることが示されています。例のコードでは、私は2つの静的メソッドLdftnとLdvirtftnの型を作成していますが、これらのメソッドは両方ともBase.Method()のオープンデリゲートを返します。Ldftnはldftnオペコードを使用し

    0

    1答えて

    現在、リフレクション(ILGenerator)を使用して動的メソッドを作成する既存のアプリケーションを拡張しようとしています。 私は現在スタック上にオブジェクトを持っていますが、このメソッドはオブジェクトを 'parameterType'と同じ型に変換する必要があります。私はあなたがおそらくCastclassたいExpression.Convert public override void Emi

    1

    1答えて

    です。タイプからプロキシを構築するコードがあります。それは完全に動作します。 次に、コール時にisDirtyビットをプッシュする必要があるsetter emitコードを追加しました。これは失敗します、なぜですか? isDirtyビットを付けずにコードを実行すると動作します。 isDirtyビットでコードを実行すると、デバッグでは動作しますが、ビジュアルスタジオで逆アセンブリウィンドウが起動します。

    2

    1答えて

    Type.GetConstructors()はこのようなコンストラクタを返さないので、これはすべて可能ですか? 私はthis questionを見ましたが、それでも問題は解決しません。 例: default(Nullable<int>)またはdefault(Guid)を放出する方法は? PS:私は回避策に興味はありません。私はいくつか推測することができますが、実質的に変更することなく直接コンパイラ

    0

    3答えて

    メソッドを生成するためにILの解析を試しています。私は各文字列がIL命令である文字列[]でメソッドのILコードを取得しました。私は再現する必要がILている。ここ foreach (string ins in instructions) //string representations of IL { string opCode = ins.Split(':').El

    6

    3答えて

    これは学習の練習です。私はFooと文字列を取り、Aプロパティを設定するメソッドを作成しました。私は、リフレクター分解を使用して、次の放射コードを作成しました。解体は、次のようになります。 .method private hidebysig static void Spork(class ConsoleTesting.Foo f, string 'value') cil managed {

    2

    1答えて

    モノでSystem.Reflection.Emitでエクスポートされたアセンブリに変なバグがあります。 アセンブリを実行しようとすると、InvalidProgramExceptionが返されます。ILコードが無効です。 .method public static hidebysig default void f_main (class [Pine.Core]Pine.Core.Func

    1

    1答えて

    私は、DataContract属性とDataMembersを使用して、動的に型を生成しています。私は型が生成された型のリフレクションを使用してDataContractとDataMember属性で正しく生成されていることを確認しました。 次に、上記の型の操作を含む、その場でServiceContract型を生成します。 しかし、クライアントからServiceReferenceを追加すると、DataC

    1

    2答えて

    TypeオブジェクトがTypeBuilderInstantiationであるかどうかを確認するにはどうすればよいですか? 基本的に、タイプオフのメソッドが必要です。 TypeBuilderInstantiationの場合は、theType.GetMethod(...)に限らず、TypeBuilder.GetMethod(...)に電話する必要があります(サポートされていない例外がスローされるため)