C# - 无法使用 Override 方法传出
C# - Can't pass Out with an Override method
我有一个与下面示例非常相似的方法,它不会让我 out
outItem
。
public override bool myMethod(string item, out string outItem)
{
outItem = "";
return true;
}
一直报以下错误:
"no suitable method found to override"
如果我删除 override
,错误就会消失。我该如何解决这个问题?
基础 class 中的方法似乎没有将该参数标记为 out
。您需要符合 base class 的签名。如果您可以更改基 class 以将方法标记为 out
,那么您也可以在派生类型上将其标记为这样。如果不能,那么您将无法覆盖该方法,您将不得不创建一个新方法。
听起来 myMethod 的基本 class 签名没有使用 out
作为第二个参数。您不能只添加它,因为它会更改方法签名。如果您可以控制基础 class,则可以添加它,但如果没有,则需要删除覆盖。
我有一个与下面示例非常相似的方法,它不会让我 out
outItem
。
public override bool myMethod(string item, out string outItem)
{
outItem = "";
return true;
}
一直报以下错误:
"no suitable method found to override"
如果我删除 override
,错误就会消失。我该如何解决这个问题?
基础 class 中的方法似乎没有将该参数标记为 out
。您需要符合 base class 的签名。如果您可以更改基 class 以将方法标记为 out
,那么您也可以在派生类型上将其标记为这样。如果不能,那么您将无法覆盖该方法,您将不得不创建一个新方法。
听起来 myMethod 的基本 class 签名没有使用 out
作为第二个参数。您不能只添加它,因为它会更改方法签名。如果您可以控制基础 class,则可以添加它,但如果没有,则需要删除覆盖。