我的方法与下面的示例非常相似,它不会让out
成为outItem
。
public override bool myMethod(string item, out string outItem)
{
outItem = "";
return true;
}
它不断发出以下错误:
“找不到合适的方法来覆盖”
如果删除override
,则错误消失。我该如何解决这个问题?
答案 0 :(得分:4)
基类中的方法似乎不会将该参数标记为out
。您需要符合基类的签名。如果您可以更改基类以将方法标记为out
,那么您也可以在派生类型上将其标记为。如果你不能,那么你将无法覆盖该方法,你将不得不创建一个新的方法。
答案 1 :(得分:4)
听起来myMethod的基类签名不会将out
用于第二个参数。您不能只是添加它,因为它会更改方法签名。如果您可以控制基类,则可以添加它,但如果不是,则需要删除覆盖。