gpt4 book ai didi

c# - 错误非泛型 '…'不能与类型参数一起使用

转载 作者:行者123 更新时间:2023-12-02 10:54:04 24 4
gpt4 key购买 nike

我已经读过许多这样的问题,但是我无法理解并解决我的问题。

我正在尝试进行通讯传输并接收消息。

我在互联网上找到了此代码,但无法编译它:

Public class Mex<TRXStruct, TTXStruct> : IDisposable where TRXStruct: struct where TTXStruct: struct
{
private SerializableQueue<RXMessage<TRXStruct, TTXStruct>> RX;
private SerializableQueue<TXMessage<TRXStruct, TTXStruct>> TX;
}

[Serializable, StructLayout(LayoutKind.Sequential)]
protected struct RXMessage : IEquatable<Mex<TRXStruct, TTXStruct>.RXMessage> {..}

[Serializable, StructLayout(LayoutKind.Sequential)]
protected struct TXMessage : IEquatable<Mex<TRXStruct, TTXStruct>.TXMessage> {..}

在另一个CS文件中
public class SerializableQueue<T>{..}

出现此错误代码,我无法编译,无法理解问题所在:

非通用类型'Mex.RXMessage'不能与类型参数一起使用'

非通用类型'Mex.TXMessage'不能与类型参数一起使用'

最佳答案

如果你看这里

protected struct RXMessage :

您将RXMessage定义为“普通”类型,而没有一般的争论

所以在您的Mex类中,您将定义一个这样的属性
private SerializableQueue<RXMessage> RX;

而不是这样
private SerializableQueue<RXMessage<TRXStruct, TTXStruct>> RX;

(请注意您应用的其他参数)。应用这些论点将表明您可能会有所不同,并采用不同的类型。如果您打算这样做,则必须像这样定义RXMessage。
public class RXMessage<TRXStruct, TTXStruct> : IEquatable<Mex<TRXStruct, TTXStruct>.RXMessage> where TRXStruct: struct where TTXStruct: struct

关于c# - 错误非泛型 '…'不能与类型参数一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43659353/

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