对于Class.a, 希望能达到这种效果:class classA{
int a=1;
private void testFun()
{
Console.write(this.a); //可以防问
this.a++; //本类函数,允许修改
}
}class ClassB{
private void testFun()
{
ClassA ca=new ClassA();
Console.write(ca.a); //可以放问
ca.a++; //非本类函数,不允许修改
}
}目前,我的类中,有大量关于本类的统计信息。 这些统计信息希望被其它类所访问,但是,又要避免被其它类修改。因为这些数据一旦被外部类非法修改,本类的运行就会也错,而且很难调试。我也知道,可以用可以在ClassA中定义如下模式来实现:
int A
{
get
{
return this.a; //把a定义为private,使得外部不可见
}
}但是,这样一来,每一个变量都要增加一堆看起来很累赘的代码,郁闷。。而如果用readonly关键字,则在本类也只能在构造函数中修改。 而我的这些数据,在类的运行过程中,随时都在变,所以,readonly也搞不定请大虾指定一下,有没有其它比较简单一点点的办法????谢谢啦
int a=1;
private void testFun()
{
Console.write(this.a); //可以防问
this.a++; //本类函数,允许修改
}
}class ClassB{
private void testFun()
{
ClassA ca=new ClassA();
Console.write(ca.a); //可以放问
ca.a++; //非本类函数,不允许修改
}
}目前,我的类中,有大量关于本类的统计信息。 这些统计信息希望被其它类所访问,但是,又要避免被其它类修改。因为这些数据一旦被外部类非法修改,本类的运行就会也错,而且很难调试。我也知道,可以用可以在ClassA中定义如下模式来实现:
int A
{
get
{
return this.a; //把a定义为private,使得外部不可见
}
}但是,这样一来,每一个变量都要增加一堆看起来很累赘的代码,郁闷。。而如果用readonly关键字,则在本类也只能在构造函数中修改。 而我的这些数据,在类的运行过程中,随时都在变,所以,readonly也搞不定请大虾指定一下,有没有其它比较简单一点点的办法????谢谢啦
解决方案 »
- xml节点统计问题winform
- asp.net里=>这个符号干嘛用的
- winform DataGirdView 控件绑定问题
- 窗体上有4个按钮,窗体如何知道,鼠标点了那个。
- C# winform combobox 动态添加 item,item要有value与text两个属性
- VC++2005 中动态添加的控件的事件处理问题(C#一样可以解决,所以我到C#来提问)
- 如何在winform下嵌入简单的网页
- 接收到一个XML文件组成的String数据,怎样将他还原为XML文件
- C# linq 过滤数据
- 新人发帖求助关于listbox双击事件的一系列问题
- 请问 怎么 从一个 DateTable(或数据库) 中 得到一个 随机数据
- 一个关于窗体多线程的问题
class classA{
int a=1;
private void testFun()
{
Console.write(this.a); //可以防问
this.a++; //本类函数,允许修改
} public object this[string FieldName]
{
get
{
FieldInfo info = GetType().GetField(FieldName);
return info.GetValue(this);
}
}
}只是调用的时候需要对类型进行转换
class ClassB{
private void testFun()
{
ClassA ca=new ClassA();
Console.write(Convert.ToInt32(ca["a"])); //可以放问
//ca.a++; //非本类函数,不允许修改
}
}
或者自己写个自动生成属性代码到文本的工具。