我正在编写一个.net Standard类库,我想将其发布为内部包,所以我在同一项目中有两个类,如下所示:
public class classOne
{
public void SomeMethod()
{
}
}
public class classTwo
{
private ClassOne _classOne;
public classOne clsOne
{
get
{
lock (padlock)
{
if (_classOne== null)
_classOne= new ClassOne ();
return _classOne;
}
}
}
}
如您在上面看到的,我希望开发人员将class One用作classTwo内部的属性。另外,我想防止classOne的实例化。唯一调用classOne方法的方法是通过classTwo的“ clsOne”属性。
//I want this code
classTwo clsTwo = new classTwo();
clsTwo.clsOne.someMethod();
//And Prevent to do this code
classOne clsOnew= new classOne();
clsOne.someMethod();
我该如何实现?
它应该看起来像这样。
public static class classOne
{
public static void SomeMethod()
{
// Your logic
}
}
然后在ClassTwo构造函数中或您需要该函数调用的任何地方,
public class classTwo { public classTwo() { classOne.SomeMethod } }