我想返回一个私有类类型的列表。假设这种情况:
class Article_GET
{
public class Article
{
public string name {get; set;}
public string description {get;set;}
}
}
现在我有了另一个带有文章类的文件,在这个类中,我有方法GetArticles()
创建了一个文章列表,可以访问Article
类Article_GET
中的public static List<Article_GET.Article> GetArticles()
{
return new Article_GET().GetArticle(); //Method in Article_GET
}
类。检查:
Article_GET().GetArticle();
调用class Article_GET
的类文章是一个dll包装器。现在有一个问题。如何看待public class Article_GET
是私有的,所以我收到了这个错误:
可访问性不一致:返回类型列表列表GET.List&gt;比“List.GetList(字符串方法)&#39;”更难以访问。制品
&#39;原因应该是internal
。但我希望这个类必须只在dll程序集内部使用。我试图提出Article_GET.Article
但同样的问题,我无法从私有/内部类向公共方法返回namespace MyCompany.Product.Article.GET.Article
{
internal class Article
{
public string name {get;set;}
public string description {get;set;}
}
class Article_GET
{
public class RootObject
{
public List<Article> article { get; set; }
}
public List<Article> GetArticle()
{
var obj = JsonConvert.DeserializeObject<RootObject>("json");
return obj.article;
}
}
}
的特定列表。
我该如何解决这个问题?
更新(建议使用新结构):
namespace MyCompany.Product.Article
{
public class Article
{
public static List<GET.Article.Article> GetArticles()
{
return new Article_GET().GetArticle();
}
}
}
和包装器:
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</android.support.design.widget.CoordinatorLayout>
答案 0 :(得分:3)
将Article
移到课程Article_GET
internal class Article_GET
{
}
public class Article
{
public string name {get; set;}
public string description {get;set;}
}