2

我有一个扩展方法来计算基类型和派生类型之间的距离,这样相同的类型将返回值 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;
    }
4

2 回答 2

3

我认为您正在寻找的术语是Depth of Inheritance

继承深度,也称为继承树深度(DIT),定义为“从节点到树根的最大长度”</p>

于 2013-04-25T22:41:56.610 回答
3

蜥蜴比尔可能正在做某事。但是,作为与Graph Theory相关的通用选项,您可以将其称为 LengthOfPathToDerivedClass。

链接、连接或路径的长度。指与链接、连接或路径相关的标签。该标签可以是距离、流量、容量或该链路的任何属性。路径的长度是该路径中链接(或连接)的数量。

于 2013-04-25T22:52:12.720 回答