Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从私有类返回列表类类型?_C# - Fatal编程技术网

C# 从私有类返回列表类类型?

C# 从私有类返回列表类类型?,c#,C#,我想返回一个私有类类型的列表。假设这种情况: class Article_GET { public class Article { public string name {get; set;} public string description {get;set;} } } 现在我有了另一个包含类Article的文件,在这个类中我有一个方法GetArticles(),它创建了一个访问Article类的文章列表,该类在Article\u

我想返回一个私有类类型的列表。假设这种情况:

class Article_GET
{
    public class Article
    {
         public string name {get; set;}
         public string description {get;set;}
    }
}
现在我有了另一个包含类Article的文件,在这个类中我有一个方法
GetArticles()
,它创建了一个访问
Article
类的文章列表,该类在
Article\u GET
中可用。检查:

public static List<Article_GET.Article> GetArticles()
{
     return new Article_GET().GetArticle(); //Method in Article_GET
}
还有包装纸:

namespace MyCompany.Product.Article
{
    public class Article
    {
        public static List<GET.Article.Article> GetArticles()
        {
            return new Article_GET().GetArticle();
        }
    }
}
名称空间MyCompany.Product.Article
{
公共类文章
{
公共静态列表GetArticles()
{
返回新文章_GET().GetArticle();
}
}
}

Move
Article
课外
Article\u GET

internal class Article_GET
{
}

public class Article
{
     public string name {get; set;}
     public string description {get;set;}
}

可以将内部类返回给同一程序集中的公共方法。不能从公共类的公共方法返回它。因此,您应该选择并返回那个公共的。还有,请发布-这将允许我们避免大量猜测,并提高获得您的可靠答案的机会。@EugenePodskal如果我声明
内部类文章_GET
我在公共方法上获得不一致的可访问性。也许我误解了你的意思?我来看看您链接的示例。我的意思是,
GetArticles
是公共类中的公共方法。而
Article\u GET.Article
是一个内部类(其外部“父”类是内部类)。然后尝试从公共
GetArticles
方法返回
Article\u GET.Article
。如果我没弄错的话,你可能想返回一些公开可见的
文章。文章
,这是一个与
文章
完全分离的公共类。@EugenePodskal现在明白了,我将尝试修复cast转换,但显然不一致性错误是不存在的,我没有想到这一点。但是现在我从System.Collections.Generic.List中的System.Collections.Generic.List中获得了
隐式强制转换,在
公共静态列表GetArticles()
@Dillinger中删除了Article\u get前缀,因为它不再是嵌套类,并且完全限定的类型名称不同。我理解错误,这是类
Article\u GET
中可用的方法
public List GetArticle
,现在不一致性错误回来了。您可以将代码添加到问题中吗?Article类是否直接位于命名空间中?GetArticle方法在哪里?@Dillinger类名称不能与命名空间名称相同。将命名空间中的
Article
更改为其他内容。
internal class Article_GET
{
}

public class Article
{
     public string name {get; set;}
     public string description {get;set;}
}