サーチエンジン等から、このページを訪れた方へ

希望するページがない場合は、下のある[Back]ボタンで一覧に戻って探してみてください。

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");

クラス名をそのまま使用できます。

共通データも同様に

static public int dat;

このような定義をクラスに追加することで可能です。使い方は同様で

d = ModuleClass.dat;

こんな感じでなります。
VB の Module のように使用できそうですね。

簡単な動作テストはしましたが、細かいテストは行っていないので、厳密にModuleのようにできるか保障は出来ませんが、お困りでしたら試してみてください。

厳密な説明は別のサイトを確認してみた下さい。





前へ
トップへ
戻る
次へ