我有一個擴展方法來計算基類型和派生類型之間的距離,使相同的類型將返回值爲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;
}