gpt4 book ai didi

c# - 为什么下面的代码需要指定泛型类型

转载 作者:太空宇宙 更新时间:2023-11-03 18:44:23 25 4
gpt4 key购买 nike

我有一个接口(interface)

public interface ITcpSerializable<T>
{
Byte[] Serialize();
T Deserialize(Byte[] data);
}

在我的一个单独的类中,我希望公开以下属性。

public List<ITcpSerializable> RegisteredTypes { get; set; }

问题是我收到以下错误。

Using the generic type 'ITcpSerializable' requires 1 type arguments

现在我明白了错误以及如何纠正它,但问题是我不希望将我的 RegisteredTypes 属性限制为我的 ITcpSerializable 接口(interface)的特定类型实现。

这个问题有办法解决吗?希望我想要完成的事情很清楚。

编辑:好吧,我已经完全把我想解释的东西塞进去了。点了一下我的思路完全歪了。请查看这个问题以了解我实际要问的内容:Constrain public property to specific types in List<Type>

最佳答案

你必须做一个ITcpSerializable ITcpSerializable<T> 的形式.然后使用您的通用版本继承它。

interface ITcpSerializable { }
interface ITcpSerializable<T> : ITcpSerializable { }

关于c# - 为什么下面的代码需要指定泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5702453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com