部分クラスの既存のメソッドをオーバーライドする方法はありますか?このようなコード生成の問題、既存のメソッド実装のオーバーライド
何か(私はこれはコンパイルされません知っている)
/// <summary>
/// Generated Code for MyClass
/// </summary>
public partial class MyClass
{
public void MyMethod()
{
//Do work specific to MyClass
}
}
/// <summary>
/// Non-generated extension for MyClass
/// </summary>
public partial class MyClass
{
public override void MyMethod()
{
//Do some other work
}
}
いくつかのコード生成をしながら、私はこのようなニーズに実行しています。私はEDMXから部分クラスを生成しています。これらのクラスのメソッドは、クラスの90%がそのプロパティに固有のメソッドを持つクラスです。
しかし、私は一度だけ方法を欲しいと思っているケースに遭遇しています。
私は見落としていますか?あるいは、いくつかの代替案がありますか?
非常に便利です! 'MyMethodImpl();'の前にコードを実行したくない時代のアイデアは何ですか? – Khan
いつ実行したくないですか? MyMethodImplが定義されている場合、MyMethodをスキップしますか? MyMethodImplは、ドキュメントで "自動生成されたコードを実行する"と定義されているブール値を返すことができます。 – Servy
実際には部分的なメソッドはvoidでなければならないので、インスタンスのboolean変数を設定するか、outパラメータを使用する必要があります。 – Servy