我有一个抽象的泛型类
public abstract class Foo<TType>
用抽象方法
public abstract object DoSomething(TType arg = default(TType)) {}
现在,继承的类
public class BabyFoo : Foo<string>
当我想覆盖 DoSomething 并开始输入“覆盖”以让智能感知/生成器编写我期望的方法框架时
public override object DoSomething(string arg = default(string))
甚至
public override object DoSomething(string arg = null)
但它确实想出了
public override object DoSomething(string arg = default(TType))
我最初的想法是这是一个 VS2010 错误,因为可选参数对 c# 来说是新的,但是任何人都可以告诉我是否有真正的原因(引用类型与值类型??)IDE 生成此代码?