我有一个扩展方法来计算基类型和派生类型之间的距离,这样相同的类型将返回值 0,而直接子类型将返回值 1。什么是最简洁和常用的术语来描述这个标量?
更具体地说,我该如何命名以下有意义并有效传达意图的方法?
public static int? CalculateHowDeeplyDerivedTheDescendantTypeIsFromTheBaseType(this Type baseType, Type descendantType)
{
baseType = baseType ?? typeof(System.Object);
descendantType = descendantType ?? typeof(System.Object);
if (!baseType.IsAssignableFrom(descendantType))
return descendantType.IsAssignableFrom(baseType)
? -1*CalculateHowDeeplyDerivedTheDescendantTypeIsFromTheBaseType(descendantType, baseType)
: null;
if (baseType == descendantType)
return 0;
return CalculateHowDeeplyDerivedTheDescendantTypeIsFromTheBaseType(baseType, descendantType.BaseType) + 1;
}