Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用泛型类型定义类_C# - Fatal编程技术网

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> { }