【问题标题】:Returning Struct from Class从类中返回结构
【发布时间】:2014-10-08 18:40:10
【问题描述】:

所以我试图在另一个名为 DMLib 的类中调用一个函数。如果我要返回一个结构列表,我怎样才能正确地将它带回我的主目录。例如:

结构:

    public struct folder
    {
        public int FID;
        public string Name;
        public int Type;
        public int TotalMessages;
    }

班级成员声明:

public List<folder> getFolders(string sessionKey)

来自 main.cs 的类成员调用:

List<folder> folders = new List<folder>();
folders = (List<folder>)DMLib.getFolders(sessionkey);

错误:

此错误表示我在 main.cs 中定义的结构文件夹列表无法从我的班级转换为结构文件夹列表。我怎样才能实现这种转换?

【问题讨论】:

  • 这个结构是在哪里定义的?您有范围界定问题。
  • folder 类型实际上是同一类型吗?还是它们是两个不同的结构,称为folder?您无法从错误消息中分辨出来,因为完整的类型名称是模糊的。
  • 结构体在main.cs和我的类/中都有定义
  • 它们是两个不同的结构,但定义方式相同,但定义在两个不同的文件中。
  • 这种类型首先肯定不应该是struct。它是可变的,不代表逻辑值,并且比结构应该大。应该是class

标签: c# struct return


【解决方案1】:

对于两个folder 类型所在的每个命名空间,要么将folder 类型的声明更改为完全限定以包含命名空间,要么在顶部声明using 别名,并使用代码中的别名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 2021-09-24
    • 1970-01-01
    • 2022-01-12
    • 2016-12-22
    相关资源
    最近更新 更多