我知道你不能在界面中有一个构造函数,但这是我想要做的:
interface ISomething { void FillWithDataRow(DataRow) } class FooClasswhere T : ISomething , new() { void BarMethod(DataRow row) { T t = new T() t.FillWithDataRow(row); } }
我真的想以某种方式用构造函数替换ISomething
's FillWithDataRow
方法.
这样,我的成员类可以实现接口,仍然是只读(它不能与FillWithDataRow
方法).
有没有人有一个可以做我想要的模式?
使用抽象类代替?
你也可以让你的抽象类实现一个接口,如果你想...
interface IFillable{ void FillWith(T); } abstract class FooClass : IFillable { public void FooClass(DataRow row){ FillWith(row); } protected void FillWith(DataRow row); }