C#-如何使用ref结构作为泛型类型参数?

C#-如何使用ref结构作为泛型类型参数?,c#,generics,.net-core,C#,Generics,.net Core,我正在学习C#,并试图实现一个使用泛型的接口。 该接口在System.Text.Json自定义转换器中使用 在实现类中,我试图传递一个Utf8JsonReader作为类型参数(参见下面的代码) 编译器发出错误消息,Utf8JsonReader不能用作类型参数。我认为这是因为它是一个ref结构,不能用作类型参数 接口 命名空间WebApp.Data.Serializers.Converters.Visitors { 内部接口IVisitor { 运动检测反序列化运动检测(ReaderType r

我正在学习C#,并试图实现一个使用泛型的接口。 该接口在System.Text.Json自定义转换器中使用

在实现类中,我试图传递一个Utf8JsonReader作为类型参数(参见下面的代码)

编译器发出错误消息,Utf8JsonReader不能用作类型参数。我认为这是因为它是一个ref结构,不能用作类型参数

接口


命名空间WebApp.Data.Serializers.Converters.Visitors
{
内部接口IVisitor
{
运动检测反序列化运动检测(ReaderType reader);
MotionInfo反序列化MotionInfo(ReaderType reader);
MotionLocation反序列化MotionLocation(ReaderType reader);
}
}
课程

名称空间WebApp.Data.Serializers.Converters.Visitors
{
内部类JsonVisitor:IVisitor
{
公共运动检测反序列化运动检测(Utf8JsonReader)
{
//实现代码
}
公共运动信息反序列化运动信息(参考Utf8JsonReader)
{
//实现代码
}
public MotionLocation反序列化MotionLocation(参考Utf8JsonReader参数)
{
//实现代码
}
}

我如何解决这个问题来实现接口?

请发布
IVisitor的代码(a)@Groo Cheers,为IVisitor interfaceOh添加了代码,它是一个
ref结构
?是的,这些结构非常有限。没有办法将其作为泛型参数传递,因为编译器很难确保泛型类不会滥用它。Cheers@Groo,好的,看起来我将不得不使用非泛型接口r JOSN方面。感谢您的及时回复,非常感谢。请发布
IVisitor
(a)的代码@Groo Cheers,为IVisitor interfaceOh添加了代码,它是一个
ref结构
?是的,这些结构非常有限。没有办法将其作为泛型参数传递,因为编译器很难确保泛型类不会滥用它。Cheers@Groo,好的,看起来我将不得不使用非泛型接口感谢您的及时回复,谢谢。