これが機能するなら素晴らしいことです。自分のアイデアを間違った方法で実装しようとしていますか?
部分メソッドを使用して、既存のコードを拡張し、メソッドの実装を単純にプラグイン/プラグアウトできるようにしたいと考えています。
基本的に、参照が述べていることとまったく同じです:
部分メソッドを使用すると、クラス デザイナーは、イベント ハンドラーと同様に、開発者が実装するかどうかを決定できるメソッド フックを提供できます。開発者が実装を提供しない場合、コンパイラはコンパイル時に署名を削除します。
これを使用する最初の試みは次のとおりです。
DefinitionsBase.cs:
namespace ABC {
public partial class Definitions {
// No implementation
static partial void TestImplementaion();
}
}
DefinitionsExt.cs:
namespace ABC {
public partial class Definitions {
static partial void TestImplementaion(){
// Implementation is here
}
}
}
Program.cs:
namespace ABC {
class Program {
static void Main(string[] args) {
Definitions.TestImplementaion();
}
}
}
それは同じ名前空間ですが、参照が述べているように、部分メソッドは暗黙的に privateです。アクセス修飾子を受け入れず、クラスから呼び出すことができません。意図したとおりに使用する方法はありますか?
ありがとう!