C# 用泛型类型定义类
我有以下有效的类定义:C# 用泛型类型定义类,c#,C#,我有以下有效的类定义: public class AsyncValidationRequestHandler<TRequest, TResponse> : IAsyncRequestHandler<TRequest, TResponse> where TRequest : IAsyncRequest<TResponse> { } 如何解决这个问题?我需要接口吗?您还需要将TModel声明为通用参数: public class AsyncValida
public class AsyncValidationRequestHandler<TRequest, TResponse> : IAsyncRequestHandler<TRequest, TResponse>
where TRequest : IAsyncRequest<TResponse> { }
如何解决这个问题?我需要接口吗?您还需要将
TModel
声明为通用参数:
public class AsyncValidationRequestHandler<TRequest, TResponse, TModel> : IAsyncRequestHandler<TRequest, TResponse>
where TRequest : IAsyncRequest<TResponse>
where TResponse : Envelope<TModel> { }
公共类AsyncValidationRequestHandler:IAsyncRequestHandler
TRequest在哪里:iSyncquest
其中t响应:信封{}
这里的TModel
是什么?您是否确实缺少了EnvelopeTModel>
中显示的左尖括号?到底是什么消息导致它无法编译?@EhsanSajjad TModel是一种通用类型我理解,但你没有在上面定义它class@Zack在我的代码中没有括号。。。只是把它加到我的问题上了。找不到类型或命名空间名称“TModel”(是否缺少using指令或程序集引用?)
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?)
public class AsyncValidationRequestHandler<TRequest, TResponse, TModel> : IAsyncRequestHandler<TRequest, TResponse>
where TRequest : IAsyncRequest<TResponse>
where TResponse : Envelope<TModel> { }