[英]how to constraint the Type parameter to a certain interface only
是否可以將 Type 參數限制為僅允許調用者傳入實現某個接口的類類型? 以下面為例:
public void RegisterProcessors(params Type[] types)
現在,調用者可以將任何類類型傳遞給此方法。 例如:
RegisterProcessors(typeof(string));
但我真正想要的是只允許調用者傳入實現 IProcessor 接口的類型。 那可能嗎? 像下面這樣的東西,當然,下面在語法上是錯誤的
public void RegisterProcessors(params Type<IProcessor>[] types)
不,基本上。 如果您使用的是泛型,則可以使用
public void RegisterProcessor<T>() where T : IProcessor
但是您不能將它與params
結合使用,因此調用者需要對每種類型調用一次。 這可能沒問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.