我有两个存储库类(RepositoryFactory
and BaseRepository
)在同一项目中实现不同的接口。这BaseRepository
类有一个私有方法,现在另一个类中也需要该方法,具有相同的实现。
我没有重复该方法以保持其私有,而是考虑了一种可能的替代方案,尽管到目前为止我找不到一个好的解决方案,因为根据定义,私有方法仅在其自己的类中具有作用域。
使用继承并将方法更改为“受保护”也不是一种选择,因为这两个类在语义上没有链接。我无法使用公共属性返回该方法的结果,因为返回类型为 void。
您可以使用反射。这是一个例子:
MethodInfo privMethod = objInstance.GetType().GetMethod("PrivateMethodName", BindingFlags.NonPublic | BindingFlags.Instance);
privMethod.Invoke(objInstance, new object[] { methodParameters });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)