私はこの質問について非常に調査しました。説明される方法はたくさんありますが、それらは私のために使えませんでした。C#は継承された抽象メンバを実装していません
私はこのクラスを持っている:このクラスを継承しています
public class ArcHydro : Oatc.OpenMI.Sdk.Backbone.LinkableComponent
{
public void Initialize(Argument[] properties)
{
_timeStamps = new ArrayList();
_culture = CultureInfo.CurrentCulture.NumberFormat;
_links = new Hashtable();
readArcHydro();
}
}
namespace Oatc.OpenMI.Sdk.Backbone
{
public abstract void Initialize(IArgument[] properties);
}
エラーが、私はそれを解決するにはどうすればよい
`'CUAHSI.OpenMI.ArcHydro' does not implement inherited abstract member
'Oatc.OpenMI.Sdk.Backbone.LinkableComponent.Initialize(OpenMI.Standard.IArgument`[])'`
のですか? クラスの前にオーバーライドを使用しましたが、エラーは残ります。
あなたのメソッドのパラメータ型は 'Argument []'で、抽象メソッドのパラメータ型は 'IArgument []'です。彼らは同じ署名を持っていないので、抽象メソッドを実装していません。 'override'修飾子も必要です。現時点で適用しようとすると、パラメータタイプの問題のため、オーバーライドしようとしているメソッドが見つからないことがわかります。 –