假設我有,有一個類型轉換器應該,是爲了轉換和從MyClass的一個類型轉換器能夠轉換MyClass的
[TypeConverter(typeof(MyClassConverter))]
public class MyClass
{
// Insert code here.
}
public class MyClassConverter : System.ComponentModel.TypeConverter
{
public override bool CanConvertFrom(Type destType)
{
// Insert code here.
}
}
... etc
應該MyClassConverter能夠轉換MyClass類型的對象MyClass的?
如果是這樣,如果要求MyClassConverter將MyClass的對象轉換爲MyClass的對象,是否應返回原始的MyClass或它的副本?
我看到Micosoft有一些不一致的行爲:
int i = 4;
TypeConverter typeConverter = new TypeConverter();
bool b = typeConverter.CanConvertTo(typeof(int))
出現b等於假。我看到類似的行爲,如果我想使用PointConverter將System.Drawing.Point轉換爲System.Drawing.Point。但顯然一個字符串CanConvertTo是一個字符串,但是一個System.Drawing.Color不能被ColorConverter轉換爲System.Drawing.Color。所以它與值類型或引用類型無關。
其他的問題:如果MyTypeConverter CanConvertFrom(typeof運算(X))和MyTypeConverter CanConvertTo(typeof運算(Y),應該MyTypeConverter能夠從類型X轉換爲Y型
我的代碼中的例子是來自Microsoft的類型轉換器的返回值,不是我的。無論如何,謝謝你的答案。我想知道什麼是整潔的:給我的班級一個演員操作員/轉換器方法,或創建一個單獨的類型轉換器班。你的回答明確表明,這些類型轉換器主要用於綁定源等 –