我正在关注Rob Conery MVC店面教程系列,并且我从以下构造函数public SqlCatalogRepository(DB dataContext)获得了一个不一致的可访问性错误:
public class SqlCatalogRepository : ICatalogRepository
{
DB db;
public SqlCatalogRepository()
{
db = new DB();
//turn off change tracking
db.ObjectTrackingEnabled = false;
}
public SqlCatalogRepository(DB dataContext)
{
//override the current context
//with the one passed in
db = dataContext;
}
Run Code Online (Sandbox Code Playgroud)
以下是错误消息:错误1可访问性不一致:参数类型"SqlRepository.DB"比方法"Data.SqlCatalogRepository.SqlCatalogRepository(SqlRepository.DB)"更难访问
SLa*_*aks 12
您的DB类不公开,因此您无法创建public将其作为参数的方法(或构造函数).(大会外的来电者会做什么?)
您需要创建DB类public或创建SqlCatalogRepository类(或其构造函数)internal.
你做哪一个将取决于你的类型使用的位置.
如果SqlCatalogRepository仅用于装配体内部,则应该制作它internal.(internal意味着它只对同一个程序集中的其他类型可见)
如果它意味着你的程序集暴露给其他程序集,你应该创建类,public但构造函数internal.
如果DB类本身是由程序集外部的类型使用的,那么您应该自己创建DB类public.
| 归档时间: |
|
| 查看次数: |
6761 次 |
| 最近记录: |