同僚と私が .NET での変換について話し合ったとき、彼は型を変換する方法が 4 つあることを指摘しました。最初は、暗黙的および明示的な 2 つしか考えられませんでしたが、ユーザー定義の変換とヘルパー クラスの使用を指摘したので、私はそうすることにしました。ここで調べてみてください http://msdn.microsoft.com/en-us/library/ms173105.aspx読んでいるうちに、私は多くのWPFを実行し、IValueConverterインターフェイスを頻繁に使用していることに気づきました。
私の質問は次のように始まりました-IValueConverterはヘルパークラスを使用した変換の単なる例ではありません(もちろん実装する場合)? 次に、ユーザー定義の変換とヘルパー クラスを使用した変換の実際の違いは何ですか? 上記の MSDN ページのリンクをたどると、ドキュメントはかなりスリムになります。これは、変換演算子ページの例です。
class SampleClass
{
public static explicit operator SampleClass(int i)
{
SampleClass temp = new SampleClass();
// code to convert from int to SampleClass...
return temp;
}
}
それは実際にはそれほど明確ではありません。私には、ctorにintが必要な静的クラスのように見えますか?
とにかく - 願わくば、一部の C# 忍者がこの主題を照らしてくれることを願っています。最後に 1 つの考えは、通常の日常のコードで本当に正当な理由 (スプレッドシートの解析など) がない限り、変換を避けようとすることです。私はそれをコードのにおいだと考える傾向があります。
ありがとう