有
class A 其对象为 a
class B 其对象为 b
class C 其对象为 c功能要求:
b能访问a中的变量
c不能访问a中的变量我知道有一个方法:
A中变量可见性设为protected
然后让B继承A
而C不继承以A为根的类系列
即可实现功能要求。但我现在的情况是:
A并不是B的父类,
那么问题就是
还有其他的方式可以实现所需功能吗?
class A 其对象为 a
class B 其对象为 b
class C 其对象为 c功能要求:
b能访问a中的变量
c不能访问a中的变量我知道有一个方法:
A中变量可见性设为protected
然后让B继承A
而C不继承以A为根的类系列
即可实现功能要求。但我现在的情况是:
A并不是B的父类,
那么问题就是
还有其他的方式可以实现所需功能吗?
解决方案 »
- 【求教程】用C#开发 Windows CE 6.0 相关内容的
- 关于DotNetBar状态栏
- SQL2005错误945,数据库无法访问,求助5555
- 我想问问如何获取Oracle数据库的一些基本信息
- inno setup 安静安装的问题. //写日志的命令是什么?
- C#程序中如何调用其他程序
- ******字符串替换************
- 一个简单的数据删除问题,请大家帮忙看一看!
- 实时工控绘图用什么方式比较好?
- 请教关于程序原代码的安全性!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 如何在Data Access Application Block中添加通过OleDB访问Access的功能
- 异步socket出现错误:由于系统缓冲区空间不足或列队已满,不能执行套接字上的操作 无法重连接
{
class A
{
public t1;
public t2;
}
class B
{
可以访问a
}
}
namespace Cname
{
public c
{
不可以访问a
}
}
1,定义一个接口,用于返回变量值,
2,A类中实现该接口。
3,B类接受一个该接口的引用参数。不知可不可行?----》
这样的话,因为接口是公开的,
那么C也同样可以引用该接口,实现访问a中的变量啊我的另一个思路是:
A中变量可见性设为private(或protected)
然后替该变量加上个访问方法如:GetValueFormA(object AccessClass)
访问时就可进行类别验证控制返回值,
但这样的话其他类也是可以伪造问题重新明确一下好了:
构建一个类A,
让A可以自己指定某一类B可以访问A中的某些变量
而其他类却不能访问A中的变量
hdt(接分接出个星星) 理解的好像有些偏颇奥,当c引入了ab所在的namespace后还是可以访问的,我想搂住的意思是可见性问题---->
That's Right!thundersoft(神州春雷) 真是懂我啊
{
int intA=100;
public int Get_intA(Object o)
{
if(o is B)
return intA;
else
return 0;
}
}
class B
{
public int Get_intA()
{
A a =new A ();
return a.Get_intA (this);
}
}private void Form1_Load(object sender, System.EventArgs e)
{
B b=new B ();
MessageBox.Show (b.Get_intA ().ToString ());
}