1

昨日質問しようとしましたが、漠然としすぎていたようです。ここで別の試みです。

過去に、clsStrings、clsIO、clsDB などのテキスト文字列の操作、ファイル操作、データベース処理などの機能を備えた winforms/VB.Net クラスをいくつか使用しました。clsStrings が "filterString"、removeCertainChars" などと呼ばれるメソッドを持つように、これらのクラスがサブジェクトに関連するすべてを行うという考えでした。

古い winforms アプリケーションでは、メソッドにアクセスする必要があるときに、単純に Imports clsStrings を記述していました。.vb ファイル全体で、次のようなものを書くことができます

str = filterString(TextBox1.Text)

私は今、C# の新しい winforms アプリで同じ機能を取得しようとしています。私が仕事をする唯一のことは、クラスの変数を作成することです:

clsStrings clsstrings = New clsStrings();

...そして、コードの後半で:

str = clsstrings.filterString(TextBox1.Text);

だから私が望むのは、変数名を常に書く必要がないように、これらの「ヘルパークラス」に using ステートメントを使用できることだと思います (それらに適した言葉はありますか?)。(Intellisense が名前空間が欠落していることを発見し、たとえば System.Data の using ステートメントが必要かどうかを尋ねたときと同じように、常に "Data.Datatable" を記述する代わりに "DataTable" を記述できるようにします。)

これらのクラス ファイルを別のフォルダなどに配置する必要があると思いますが、それで問題ありません。アプリに何らかの構造が必要なだけです。

これがより明確になることを願っています。

ご意見ありがとうございます。

4

2 に答える 2

1

違いは、現在、OOPの原則を使用していることです。

慣れ親しんだものに近づけるためにできることは、ヘルパークラスの静的クラスを作成することです。場合によっては、それらを拡張メソッドに変換することもできます。

例:

public static class ClsStrings
{

 public static string FilterString(this string stringToFilter) { return something; }

}

次に、次のように呼び出すことができます。

string filteredString = TextBox1.Text.filterString();

また

string filteredString = ClsStrings.filterString(TextBox1.Text);
于 2013-02-05T07:45:38.583 に答える
0

拡張メソッドは、ここに行く方法です。これらを使用すると、基本的に独自のメソッドで String クラスを拡張し、Sting.filterString(); のようなことを行うことができます。

http://msdn.microsoft.com/en-us/library/vstudio/bb383977.aspx

于 2013-02-05T08:12:26.717 に答える