给出接口定义及其实现:
public interface IArithmetic
{
int Summation { get; }
void Add(int x, int y);
}
public class Calculator : IArithmetic
{
public int Summation { get; private set; }
void IArithmetic.Add(int x, int y)
{
Summation = x + y;
}
}
Summation
的实现明确
public class CalculatorB : IArithmetic
{
// error: "private set;"
int IArithmetic.Summation { get; private set; }
void IArithmetic.Add(int x, int y)
{
Summation = x + y;
}
}
' CalculatorB.IArithmetic.Summation.set'的可访问性修饰符 访问者必须比财产或索引器更具限制性 ' CalculatorB.IArithmetic.Summation'
访问者是否比私有更具限制性?我不确定这里的问题是什么?
set
访问者下方已修改(无双关语)以修复CalculatorB
的语法错误。
public interface IArithmetic2
{
int Summation { get; set; }
void Add(int x, int y);
}
public class Calculator2 : IArithmetic2
{
int IArithmetic2.Summation { get; set; }
void IArithmetic2.Add(int x, int y)
{
// syntax error
Summation = x + y;
}
}
名称'总结'在当前背景下不存在。
我不确定导致语法错误的原因是什么?