簡體   English   中英

定義一個類MyClass <T> 或函數MyFunction <T> (T x)其中T只能通過實現IMyInterface的類型

[英]Define a class MyClass<T> or a function MyFunction<T>(T x) where T can only by a type that implements IMyInterface

我想定義一個類MyClass<T>和一個非常特殊的函數MyFunc<T> ,但是我想強制T從(以任何方式)繼承一個接口或一個類。 我們將此稱為IMyInterface

我對C#的了解允許我執行此操作的唯一方法是定義一個通用類,檢查它是否繼承(例如,請參閱如何檢查類型是子類型還是對象的類型? ),並引發異常。除此以外。

有沒有辦法在編譯時而不是運行時強制執行此操作?

通用類型約束:

public void MyFunc<T>() where T : IMyInterface {
}

暫無
暫無

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

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