タグ

2010年11月10日のブックマーク (5件)

  • C#と諸々 動的なメソッドの呼び出しを厳密に

    C#がメインで他もまぁ諸々なブログです おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`) つーかコメント欲しい(´・ω・`) ByRef parameter and C# - とC#について書くmatarilloの日記 MethodInfo.Invoke で動的に実行したメソッド内で例外が発生した場合 out 引数が書き換えられない、という話。 Reflection.Emit でゴリゴリ自前実装してみたものをコメントに投稿しましたが、インスタンスメソッドの動的実行に対応できてなかったので、対応したコードをこちらで晒しときます。あと、NyaRuRu さんからの指摘事項含め、リファクタリングもしときました。 using System; using System.Collections.Generic; using System.Reflection; using System.

  • ECMA-335 CLI Public Draft | Mono

    Ecma Common Language Infrastructure (CLI) Standard - Working Draft In August, 2000, the specification for the Common Language Infrastructure (CLI) was submitted to the international standardization organization Ecma. As a result, Ecma formed a task group (TG3) within TC39 (now moved to TC49), its technical committee responsible for programming languages and application development. This specificat

  • csharp-online.net

  • IL(CIL,MSIL)

    IL(Intermediate Language) CIL(Common Intermediate Language) MSIL(Microsoft Intermediate Language) ここではMSIL(CIL)を用いたプログラムを行います。 .Netの時代になってまで、あえてアセンブリ言語と同じようなレベルのILをいじる必要はほとんど無い。そんなことをするくらいだったら素直にアセンブラで書くと思います。しかし、ILを学ぶことによってより.Netを理解できるようになる可能性はあります。まあ、デバック時くらいだと思いますけど…。 注…私は正確なドキュメントを持っていないのでここに書いてあることは経験と逆アセンブル、そしてインターネットで得た情報で構成されています。私はこれに対してあらゆる保証が出来ません。まあ、.Net上で動いているのだからパソコンは落ちないだろうが、心してかかって

  • 動的メソッドおよびアセンブリの出力 - .NET

    ここでは、System.Reflection.Emit 名前空間のマネージド型のセットについて説明します。これらのマネージド型を使用すると、コンパイラやツールでメタデータと共通中間言語 (CIL) を実行時に出力できます。また、ポータブル実行可能 (PE) ファイルをディスク上に生成することもできます。 この名前空間を使用する主な機能は、スクリプト エンジンとコンパイラです。 ここでは、リフレクション出力と呼ばれる System.Reflection.Emit 名前空間の機能について説明します。 リフレクション出力は、以下の機能を提供します。 実行時に DynamicMethod クラスを使用して軽量のグローバル メソッドを定義し、デリゲートを使用してそのメソッドを実行します。 実行時にアセンブリを定義し、次に、それらを実行するか、ディスクに保存します。 実行時にアセンブリを定義し、それら

    動的メソッドおよびアセンブリの出力 - .NET