簡體   English   中英

如何將泛型參數約束為具有某個 static function?

[英]How can I constrain generic parameter to have a certain static function?

我想要一個通用參數來實現某些 static function。 作為其接口的一部分(static 函數)對我來說,擁有這樣的通用參數約束是合乎邏輯的,但我找不到如何做到這一點。 任何幫助表示贊賞。

目前我正在通過定義 NOT static 屬性來解決此類問題,該屬性返回 static 值,作為 OOP 開發人員我當然不喜歡。 此屬性是某些接口的一部分,通用參數是從接口繼承的約束。

你不能 - 沒有像 static 成員約束類型參數這樣的事情,除非你計算需要無參數構造函數的new()約束。

請注意,static 成員不能成為正常 C# 意義上的接口的一部分 - 即使它們顯然可以是該類型的公共 API 的一部分。

我之前在博客上寫過 C#未來版本中“靜態接口”的可能性(只是作為一種功能請求),但現在絕對不可用。

有時最好的選擇是讓一個單獨的類型實現一個普通的接口——如果你能給我們更多關於你的上下文的信息,我們也許可以建議替代方法。

此時,不可能像您需要的那樣在 C# 中有約束。 我也很想擁有這個功能。 :)

暫無
暫無

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

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