相关疑难解决方法(0)

“公共结构包含一个或多个将被导出的非公共字段” - 但没有字段?

我有下面的结构,正在为 COM 互操作进行编译。我收到以下构建警告:

warning :类型库导出器警告处理“MyNamespace.MyStruct.k__BackingField,MyAssemblyName”。警告:公共结构包含一个或多个将被导出的非公共字段

但我不明白它指的是什么——根本没有非公共字段或字段。也许编译器正在生成一些我看不到的东西?这个警告是什么意思?如果我能做些什么来清理它怎么办?

这是正在构建的(稍微清理过的)代码:

[Guid("....")]
[ComVisible(true)]
public struct MyStruct
{
    public string StringA { get; set; }
    public string StringB { get; set; }

    public MyStruct(string a, string b)
    {
        StringA = a;
        StringB = b;
    }

    public MyStruct(MyStruct other)
    {
        StringA = other.StringA;
        StringB = other.StringB;
    }

    public override bool Equals(object obj)
    {
        if (!(obj is MyStruct)) return false;
        var other = (MyStruct)obj;
        return
            other.StringA == this.StringA &&
            other.StringB == this.StringB;
    } …
Run Code Online (Sandbox Code Playgroud)

c# tlbexp com-interop

0
推荐指数
1
解决办法
385
查看次数

标签 统计

c# ×1

com-interop ×1

tlbexp ×1