如果这确实存在于其他关于此错误的问题中,我深表歉意,但我已经查看了 TONS,但我仍然被抛出。所以我老了“...由于它的保护级别而无法访问”错误。当这个错误出现时,另一个错误也会出现,我认为这是问题的真正症结所在。我得到“SS.Spreadsheet”没有定义构造函数,这意味着我可能没有正确实现从抽象类继承的构造函数。或者类似的东西。
public abstract class AbstractSpreadsheet
{
public Func<string, bool> IsValid { get; protected set; }
public Func<string, string> Normalize { get; protected set; }
public string Version { get; protected set; }
public AbstractSpreadsheet(Func<string, bool> isValid, Func<string, string> normalize, string version)
{
this.IsValid = isValid;
this.Normalize = normalize;
this.Version = version;
}
...
}
我的类(class):
class Spreadsheet : AbstractSpreadsheet
{
public Spreadsheet()
: base(v => true, s => s, "default")
{
}
...
}
我也尝试过类似的方法:
public Spreadsheet()
: base(v => true, s => s, "default")
{
IsValid = v => true;
Normalize = s => s;
Version = "default";
}
基于我在这里看到的答案。但仍然没有(根据我的理解,这无论如何都行不通)。
抽象类是给我的,不能更改。
我是否需要在我的 Spreadsheet 类中实现 IsValid、Normalize 和 Version override 样式方法?或者类似的东西……如果是这样,怎么做?
我对编程世界还是很陌生,对 C# 也很陌生,所以如果有人能在正确的方向上插入我,我将非常感激。
最佳答案
由于您示例中的所有内容都是公开的,因此错误可能适用于类本身。尝试公开 Spreadsheet 类,看看它是否修复了错误。
关于c# - 另一个...由于其保护级别而无法访问...问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13004937/