错误:可访问性不一致:属性类型' IEnumerable< product>比IProductRepository.Products'
更不易获取
namespace SportsStore.Domain.Abstract
{
public interface IProductRepository
{
IEnumerable<Product> Products { get; }
}
}
我不明白错误信息的含义;有人可以帮我确定一下是什么错误吗?
答案 0 :(得分:0)
如果您有以下任何类定义:
class Product // defaults to internal
或
internal class Product
然后在程序集外部看不到Product
类型。如果您定义此接口,则会发生冲突:
public interface IProductRepository
{
IEnumerable<Product> Products { get; }
}
这表示界面为public
,从程序集外部可见。但这是不可能的,因为它包含一个类型 - Product
- 在程序集外部不可见。它就像一家商店,销售的产品不允许客户了解。它没有意义。
无法协调这种不一致性,因此编译器不会构建它。
您可以同时internal
或同时public
。您可以设置界面internal
和Product
public
。但是由于它产生的冲突,你无法建立界面public
和Product
internal
。