我想是這樣的:如何添加2個new()約束來輸入參數?
public static TTo JumpTo<TFrom, TTo>(this TFrom from_page)
where TTo : new() TFrom : new()
{
...
}
我要強制執行TFrom和TTO都從一個基類派生。
而且我想使這種方法成爲的TFrom類型的擴展方法。
可能嗎?什麼是正確的語法?
我想是這樣的:如何添加2個new()約束來輸入參數?
public static TTo JumpTo<TFrom, TTo>(this TFrom from_page)
where TTo : new() TFrom : new()
{
...
}
我要強制執行TFrom和TTO都從一個基類派生。
而且我想使這種方法成爲的TFrom類型的擴展方法。
可能嗎?什麼是正確的語法?
在每種類型之前放置關鍵字where
。
public static TTo JumpTo<TFrom, TTo>(this TFrom from_page)
where TTo : SomeBaseType, new()
where TFrom : SomeOtherBaseType, new()
{
...
}
謝謝,我想將JumpTo作爲TFrom的**擴展方法**。可能嗎? – smwikipedia
@smwikipedia:你的編輯就是這麼做的!你添加到一個靜態類。 – leppie
@smwikipedia是的,你可以使它成爲一個擴展方法。 – cadrell0
@ AD.Net:您的觀點與這種需求?編輯:那不會編譯。 – leppie
順便說一句,對輸入參數的'new'約束沒有任何意義,除非你在內部複製東西。 – leppie
@ AD.Net:這聽起來更像VB.NET,除了在VB.NET中,它會是'作爲SomeType,TFrom作爲SomeOtherType'所以實際上根本就不是 – Ryan