根據this question它似乎可以做到這一點的方法。我想知道的是爲什麼當我嘗試使用屬性時它不起作用。從C#4.0 RC1爲什麼我不能同時覆蓋和新建一個Property(C#)?
錯誤1型 'ClassLibrary1.Foo' 已經
public class Foo { public virtual object Value { get; set; } } public class Foo<T> : Foo { public override object Value { get { return base.Value; } set { base.Value = (T)value; //inject type-checking on sets } } public new T Value { get { return (T)base.Value; } set { base.Value = value; } } }
錯誤消息包含關於 '值' ClassLibrary1的\定義的Class1.cs 31 22 ClassLibrary1的
+1我不知道我怎麼可以肯定,但這似乎是正確的答案 - 同樣的規則不打方法,因爲方法重載等。 – 2010-03-24 01:30:17
@Tim:在這裏閱讀最後一段:http://msdn.microsoft.com/en-us/library/aa691131(v=VS.71).aspx相同的規則適用於屬性 – 2010-03-24 05:56:58