我有一个基本的疑问,我猜想在 C# 中编程时可能很常见。
基本上,这里描述了我当前代码的结构:
文件: api.cs
namespace API
{
class OutputClass{
private int var1;
private int var2;
int getVar1()
{
return var1;
}
int getVar2()
{
return var2;
}
}
class APICore {
public event Action<OutputClass> FrameDecodeComplete;
void someFunction() {
OutputClass myOutput;
myOutput.var1 = 1;
myOutput.var2 = 2;
FrameDecodeComplete(myOutput);
}
}
}
我的要求是这个API的用户创建一个APICore类型的对象,并以OutputClass对象的形式接收输出。
myOutput.var1 = 1;
显然,由于它的保护级别,这些行myOutput.var2 = 2;
会引发错误。
但我还需要确保 API 的用户无法设置 var1、var2 的值。所以我不想将 var1 和 var2 的访问级别更改为 public。而且我也不想定义setVar1()、setVar2()之类的函数。
请评论。