我给出了以下代码示例:
public static class A
{
private static B _b;
public static B GetB
{
get
{
if(_b == null)
{
_b = B.load();
}
return _b;
}
}
public static void Save()
{
if(_b == null)
{
_b = B.load();
}
_b.Save()
}
}
public class B
{
public string Value{ get; set;}
public void Save()
{
//value is being save to somewhere
}
public static B load()
{
B b = new B();
// .....
//b.Value is loaded from somewhere
// ......
return b;
}
}
Run Code Online (Sandbox Code Playgroud)
接下来是我需要解决的问题:
A.GetB.Value = "value"; // OK
B.Load().Value = "value"; // I need to prevent this
Run Code Online (Sandbox Code Playgroud)
上面两行代码做了完全相同的事情,但是......
B.Load().Value应该无法从 A 类以外的任何其他地方访问
如果有人有想法,请告诉我......
谢谢,
菲维
我认为另一个解决方案可能是创建B一个public类(因为它已经是),并创建B.Load一个internal方法。但是,只有当您从另一个程序集调用时,这才有效(并且仅A.GetB计划这种情况)。
| 归档时间: |
|
| 查看次数: |
4642 次 |
| 最近记录: |