cast错过了c#显式转换

时间:2015-12-23 06:28:13

标签: c# type-conversion implicit explicit 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?

请告诉我我做错了什么。我只是一个乞丐,并且不明白我应该做什么。我为我糟糕的英语道歉。谢谢。 附:隐式转换工作正常。

2 个答案:

答案 0 :(得分:2)

<a href="http://<?php echo $_SERVER['SERVER_NAME']; ?>"><img src="logo"></a>

如上修改第二行。您的目标类型为value = (byte)property; 而不是byte

答案 1 :(得分:0)

更改

value = (pr<byte>)property; // An explicit conversion exists are u missing cast?

进入

value = (byte)property; // An explicit conversion exists are u missing cast?