10.C#でVBのモジュールのようなプログラムを作成するには |
| VBにはモジュール( module )というファイルを作成することが出来ます。このモジュールは、全てのフォーム(またはクラス)からアクセスすることが出来ます。 共通のサブルーチン( Sub )やファンクション( Funcsion )がある場合に、大変便利です。 C言語(C++言語ではありません)ならばオブジェクト指向で無いので意識せずに(あえて気にする点は、static と書かない)共通で使用できます。しかし、C#には厳密に同じ機能はありません。 インターネットで調べても、DLLにするなど小細工が必要な方法しか公開さていませんでした。 クラス( class )や構造体( struct )の定義方法を調べていたら、偶然発見しました。 下記のようなクラスを定義します。
using System; using System.Collections.Generic; using System.Text;
namespace CsModuleTest { public static class ModuleClass { static public int DataCalc(string moji) { int a = int.Parse(moji); return a * 10; } } } |
一見、普通のクラス定義ですが、クラスおよびメソッドの定義に ”static” を追加しています。 これは”静的クラス”と言われています。静的クラスにすると new などでクラスを作成しなくてもそのまま使用できます。 上記の場合の使用方法は
int b = ModuleClass.DataCalc("1234"); |
クラス名をそのまま使用できます。
共通データも同様に
このような定義をクラスに追加することで可能です。使い方は同様で
こんな感じでなります。 VB の Module のように使用できそうですね。
簡単な動作テストはしましたが、細かいテストは行っていないので、厳密にModuleのようにできるか保障は出来ませんが、お困りでしたら試してみてください。
厳密な説明は別のサイトを確認してみた下さい。
|
|
|