私は基本的な疑問を持っています.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() などの関数も定義したくありません。
コメントよろしくお願いします。