你好,我有一個像下面的方法:傳遞許多不同類型的一種方法C#
public EventItemPage LaunchItemsActionByRowIndex(int RowIndex)
{
// does some other stuff
var eventItemPage = new EventItemPage(driver);
eventItemPage.WaitForPageToLoad();
return eventItemPage;
}
public StandardSalesforcePage LaunchViewActionByRowIndex(int RowIndex, string actionItem)
{
// Does the same as above method
var bookDetailPage = new StandardSalesforcePage(driver);
bookDetailPage.WaitForPageToLoad();
return bookDetailPage;
}
我想這兩種方法將它們合併,並在傳遞類作爲參數,並移動到一個新的類,將被上面列出的類繼承。我需要訪問類的一些方法,並且還要確保構造函數被調用。我試圖使用下面的創建實例激活器,但不認爲我正確使用它。
object obj = (yourPage)Activator.CreateInstance(typeof(StringBuilder), yourPage);
我一直在研究很多,但是如果可能或者不可能,我很困惑。上面我沒有提到,我們將一個selenium驅動實例傳遞給我們將要使用的類的構造函數。
「將被上面列出的類繼承」 - 您沒有在任何地方列出任何類。 –
也許這是一個解決方案,用你需要的對象類型作爲成員編寫一個小類。然後你可以用你需要的對象作爲參數發送你的類的一個實例給你的函數/方法 –
你可以定義一個「通用方法」並注入所需的對象而不是用Activator創建它。 https://msdn.microsoft.com/en-us/library/twcad0zb.aspx – zanseb