メインメニューを開く

差分

型付DataSetに列挙型を取り込む

70 バイト追加, 2019年7月26日 (金) 16:39
partialクラスって言うのは、クラス定義を分割して定義している(ないしはできる)クラスのことを言うんだよ。たとえば、以下のようなクラスがあったとするよね…
<source syntaxhighlight lang="csharpC#">
namespace CommonCtrlLib
{
}
}
</sourcesyntaxhighlight>
クラス内の定義って言うのはclass{}の中に記述しないといけないから、つまるところ1ファイルの中にすべて書かないといけないって事になっちゃうんだよね。でも、諸事情により別のファイルに書きたいときもあると思うんだ。自動生成されたDataSetのファイルなんかは特にそうで…自動生成されたファイルをカスタマイズしちゃうと、また自動生成したときにカスタマイズが消えちゃったりするんだ。そんなときに、自分のカスタマイズ部分だけ別のファイルに書ければ…ってことになるんだよ。
ファイル1
<source syntaxhighlight lang="csharpC#">
namespace TestLibrary
{
}
}
</sourcesyntaxhighlight>
ファイル2
<source syntaxhighlight lang="csharpC#">
namespace TestLibrary
{
}
}
</sourcesyntaxhighlight>
こうやって定義すると、2つのファイルに分かれているclass定義でも、1つのclassとして扱うことができるんだ。
<li>データセットデザイナの何も書かれていないところ(余白?)をダブルクリックする。</li>
<li>以下のようなコードが表示される(ネームスペースが「TestLibrary」で、データセットクラス名が「DataSet1」の場合)
<source syntaxhighlight lang="csharpC#">
namespace TestLibrary {
}
}
</sourcesyntaxhighlight>
</li>
</ol>
;列挙型名:e_Test
<source syntaxhighlight lang="csharpC#">
namespace TestLibrary {
public partial class DataSet1 {
}
}
</sourcesyntaxhighlight>
これで、列挙型で出し入れできるメソッドを追加することができたよ。もしWPFでバインドしたいときなどは、Int32で取り出すメソッド(この場合「DataColumn1」)でバインドすれば、特に悩むことなく実現できると思うんだ。