cast missed c#显式转换
cast missed c# explicit conversion
我在使用以下代码进行类型转换时遇到了问题:
public class pr<T>
{
private T tt;
public pr( T value ) {
this.tt = value;
}
public static explicit operator T(pr<T> op)
{
return default(T);
}
public static explicit operator pr<T> (T op)
{
return null;
}
}
用法:
byte value = 255;
pr<byte> property = new pr<byte>(50);
property = (pr<byte>)value; // no error here, works well test it throught debugger.
value = (pr<byte>)property; // An explicit conversion exists are u missing cast?
请告诉我我做错了什么。我只是一个初学者,我不明白我应该做什么。我为我糟糕的英语道歉。谢谢你。
P.S。隐式转换工作正常。
value = (byte)property;
如上修改第二行。您的目标类型 byte
而不是 pr<byte>
改变
value = (pr<byte>)property; // An explicit conversion exists are u missing cast?
进入
value = (byte)property; // An explicit conversion exists are u missing cast?
我在使用以下代码进行类型转换时遇到了问题:
public class pr<T>
{
private T tt;
public pr( T value ) {
this.tt = value;
}
public static explicit operator T(pr<T> op)
{
return default(T);
}
public static explicit operator pr<T> (T op)
{
return null;
}
}
用法:
byte value = 255;
pr<byte> property = new pr<byte>(50);
property = (pr<byte>)value; // no error here, works well test it throught debugger.
value = (pr<byte>)property; // An explicit conversion exists are u missing cast?
请告诉我我做错了什么。我只是一个初学者,我不明白我应该做什么。我为我糟糕的英语道歉。谢谢你。 P.S。隐式转换工作正常。
value = (byte)property;
如上修改第二行。您的目标类型 byte
而不是 pr<byte>
改变
value = (pr<byte>)property; // An explicit conversion exists are u missing cast?
进入
value = (byte)property; // An explicit conversion exists are u missing cast?