如果此问题存在于其他有关此错误的问题中,我表示歉意,但我已经通过TONS看过,但仍然被抛出。所以我已经变老了“......由于它的保护级别而无法访问”错误。当这个错误出现时,另一个错误也会出现,我认为这是问题的真正关键。我得到“SS.Spreadsheet”没有定义构造函数,这意味着我可能没有正确实现从Abstract类继承的构造函数。或类似的规定。另一个......由于它的保护级别而无法访问......问题
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 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重写样式方法吗?或者是那个效果....如果是这样,怎么样?我对编程世界还很陌生,对C#也很新,所以如果任何人都可以给我一个正确的方向,我会非常感激。
当你的答案很简单时,你就会喜欢这种感觉。我甚至没有考虑过这个问题,因为我能够在另一个班级中宣布一个新的电子表格而没有任何问题。但是这似乎解决了这个问题。谢谢。 :-) – NewbornNerd