プログラミング C# - 翔ソフトウェア (Sho's)

C#/.NET/ソフトウェア開発など

dynamic

リフレクション Q&A

「Hokuriku.NET C# メタプログラミング ~リフレクション~」に参加してきた。 Hokuriku.NET C# メタプログラミング ~リフレクション~ 日時 2013年6月29日 会場 海みらい図書館 (石川県金沢市) 関連記事 参照設定せずにFormを表示する - xin9le.net Hokuri…

動的にイベント ハンドラーを追加

今回は、動的にイベント ハンドラーの追加を行ってみたい。 ■ 動的に読み込まれるクラス ライブラリー側 例えば、次のようなクラス ライブラリー (ClassLibrary.dll) があるとする。 // クラス ライブラリー側: ClassLibrary.dll namespace ClassLibrary { p…

列挙型 (enum) の列挙子の動的な取得など

今回は、列挙型 (enum) の列挙子の取得などについて。 ■ 列挙型 (enum) の列挙子を動的なメソッド呼び出しの引数で渡したい 例えば、次のようなクラス ライブラリー (ClassLibrary.dll) があるとする。 // クラス ライブラリー側: ClassLibrary.dll namespac…

C# による Observer パターンの実装 その6 - DynamicObject を使ってオブザーバーを作る

※ C# Advent Calender 2012 の 25日目のエントリー。 本ブログでは、これ迄五回に渡り、C# による Observer パターンの実装をご紹介してきた。 C# による Observer パターンの実装 記事 その1~5 [C#][Design Pattern] C# による Observer パターンの実装 そ…

プラグイン処理 2 (DLL/C#/Python に対応させてみる)

前回の「プラグイン処理」の続き。 今回は、前回のコードに少し付け足して、様々な種類のプラグインに対応してみよう。 前回は、DLL だけをプラグインとして使えるようにしたが、今回は、それに加えて、C# と Python のプラグインも使えるようにしてみたい。…

プラグイン処理

動的処理の一例として、今回はプラグイン処理を行ってみる。 プラグイン処理によって、アプリケーションに対して動的に機能を追加できるようにすることができる。 ■ プラグイン処理の例 今回のプラグインは、以下のような規約ベースで動くものとする。 実行…

DynamicObject を使ってみよう その 2

前回の「DynamicObject を使ってみよう」の続き。 前回は、DynamicObject と ExpandoObject を使ってみた。 DynamicObject の派生クラスや ExpandoObject は連想配列のように機能した。 但し、通常の連想配列とはインタフェイスが異なる。 今回も、引き続き …

DynamicObject を使ってみよう

C# 4 から dynamic が使えるようになった。 動的言語のように、動的にプロパティを参照したり、メソッドを呼んだり出来るようになった訳だ。 そして、.NET Framework では 4 から System.Dynamic と云う名前空間ができた。 今回は、この名前空間の中の Dynam…