我想要定義一個接口和類,它們實現瞭如下的接口。接口中定義的方法接受一個字符串作爲參數,其中方法Execute
的myClass2實現接受2個不遵循接口定義的參數。定義一個接口中需要n個參數的方法
這就是問題所在。我怎樣才能在一個接口中定義一個方法,該方法需要n個不同類型的參數?
請指教。謝謝。
public interface MyInterface
{
void Execute(string a);
}
public class myClass1 : MyInterface
{
public void Execute(string a)
{
Console.WriteLine(a);
}
}
public class myClass2 : MyInterface
{
public void Execute(string a, int b)
{
Console.WriteLine(a);
Console.WriteLine(b.ToString());
}
}
編輯:我想到另一種方法。我很感激,如果有人能告訴我這是否會是更好的設計。
public interface IParameter
{
Type ParameterType { get; set; }
string Name { get; set; }
object Value { get; set; }
}
public interface MyInterface
{
void Execute(Recordset recordSet, List<IParameter> listParams);
}
public class MyClass : MyInterface
{
public void Execute(Recordset recordSet, List<IParameter> listParams)
{
}
}
我通過一個IParameter列表,它包含所有需要發送的參數。
有東西在這裏聞起來。是什麼讓你參與這個設計? –
如果你的類需要一個帶有兩個參數的方法,那麼你的界面也必須具有相同的方法簽名(帶有兩個參數的'Execute')。沒有什麼神奇的方法可以使這裏發生...... –
@David:你可以看看Jon的評論。這會給你一個想法,我想實現。 –