-1
我有以下的類定義的工作原理:定義類泛型類型
public class AsyncValidationRequestHandler<TRequest, TResponse> : IAsyncRequestHandler<TRequest, TResponse>
where TRequest : IAsyncRequest<TResponse> { }
但我需要定義τ響應的信封,其中信封是:
public class Envelope<T> { }
我試過如下:
public class AsyncValidationRequestHandler<TRequest, TResponse> : IAsyncRequestHandler<TRequest, TResponse>
where TRequest : IAsyncRequest<TResponse>
where TResponse : Envelope<TModel> { }
基本上,我定義一個包絡爲:
ModalA modelA = new ModelA();
Envelope<ModelA> envelopeA = new Envelope<ModelA>();
或
ModalB modelB = new ModelB();
Envelope<ModelB> envelopeB = new Envelope<ModelB>();
而且我知道我的回答是永遠的東西信封...
但我的代碼不能編譯。我得到錯誤:
The type or namespace name 'TModel' could not be found (are you missing a using directive or an assembly reference?)
如何解決這個問題?我需要一個界面嗎?
是什麼''TModel''這裏? –
你實際上是否在'EnvelopeTModel>中缺少左尖括號?就像在你的代碼片段中顯示的那樣?究竟是什麼導致它不能編譯的消息? – Zack
@EhsanSajjad TModel是一個通用類型 –