在C++模板中,您可以將值作爲參數傳遞給template of a function。我怎樣才能在C#中做同樣的事情?如何將值傳遞給C#泛型?
舉例來說,我想要做類似如下的內容:
template <unsigned n> struct Factorial {
enum {
result = n * Factorial<n - 1>::result;
};
};
template <> struct Factorial<0> {
enum {
result = 1;
};
};
但在C#。我怎樣才能做到這一點?順便說一下,我對它們的實際需求涉及按需生成類(有幾個靜態值已更改),所以提供的代碼僅僅是一個示例。
這是否等同於通用方法?我不知道任何關於C++。 –
不,模板允許傳入值,而泛型僅允許類型。我正在尋找一種解決方法來實現將值傳遞爲模板參數的相同效果,但在C#中(如果不允許) – pretobomba
我不明白在面向對象的方法中這很有用。 –