2012年2月22日 星期三

[C#] Compiler Error CS1715

通常原因是 types 無法對齊,如下面所示,interface 是 int,implementation 是 double。
// CS1715.cs
abstract public class Base
{
    abstract public int myProperty
    {
        get;
        set;
    }
}

public class Derived : Base
{
    int myField;
    public override double myProperty  // CS1715
    // try the following line instead
    // public override int myProperty
    {
        get { return myField; }
        set { myField;= value; }
    }

    public static void Main()
    {
        Derived d = new Derived();
        d.myProperty = 5;
    }
}

如果還找不到原因,很有可能是 type 是 3rd-party assemble 的 type,如果版本不對,雖然 type literal 一模一樣,但實際內容不一樣,所以版本還要一模一樣才行 (心得)。

沒有留言:

張貼留言