由于没有任何 C# 语言可以防止类中的任何地方从该类中调用私有方法,因此对于只能由另一个独占方法调用的方法是否有标准命名约定?
为什么?所以其他人不会意外调用该方法(如果他们知道约定)。
例如,当我有递归方法时,我经常有另一个方法,我想成为该方法的独占调用者,那么每个人都应该直接调用该方法而不是我的递归方法。例如:
private void FindPathToNode(Node currentNode, List<Node> visitedNodes, List<Node> path, int targetId, ref bool found)
{
...
FindPathToNode(node, visitedNodes, path, targetId, ref found);
}
private void FindPathToNode(Node startNode, int targetId)
{
var visitedNodes = new List<Node>();
var path = new List<Node>();
var found = false;
FindPathToNode(startNode, visitedNodes, path, targetId, ref found);
}
我喜欢前导下划线的想法,因为在其他语言中它表示“私有性”,例如 Python(尽管它只表示类级别的私有)。
private void _FindPathToNode(Node currentNode, List<Node> visitedNodes, List<Node> path, int targetId, ref bool found)
但是是否已经有一个广泛使用的约定?