簡體   English   中英

在C#中重載運算符時,可以包含類型參數嗎?

[英]Can you include type parameters when overloading operators in c#?

我想以與未編譯代碼相同的方式進行操作

public static B operator + (Func<A,B> f, A a) {
    return f (a);
}

有沒有一種方法可以指定類型AB 我試過了

public static B operator +<A,B> (Func<A,B> f, A a) {
    return f (a);
}

但它太好了,難以置信。

不,運算符不能在C#中通用。 您可以在泛型類型中重載運算符,但運算符本身不能具有類型參數。

如果您查看C#規范中用戶定義的運算符的語法(例如,在C#5規范的10.10節中),您會發現它根本沒有添加類型參數(或類型參數約束)的地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM