【问题标题】:Extension object in XSLT with subclassesXSLT 中带有子类的扩展对象
【发布时间】:2013-10-07 14:47:58
【问题描述】:

我想在我的映射中调用我的类TranscoHelper 的扩展对象。 棘手的部分是我想调用类的几个子类中的方法,而不是主类中的方法。

很遗憾,由于多个子类的方法名称相同,我无法将子类抽象为一个通用类。

我尝试了以下语句但没有成功 -

<xsl:value-of select="transco:SubClass1.Method1()"/>

是否有人完成了这种行为,或者这是不可能的? 不太有吸引力的解决方案是在扩展对象中为每个子类添加一个引用并去掉主类,但如果可能的话我想避免这种情况……

我的班级的虚拟版本如下所示 -

public class TranscoHelper
{

    public class SubClass1 : TranscoBase
    {
        public static string Method1() 
        {
            return "Method1";
        }
    }


    public class SubClass2 : TranscoBase
    {       
        public static string Method1()
        {
            return "Method2";
        }
    }
}

【问题讨论】:

    标签: xslt biztalk


    【解决方案1】:

    这是我在 MSDN 上提供的相同答案:

    我认为这不会起作用,因为我记得扩展是作为实例添加的。

    TranscoHelper 的实例不会自动包含 Subclass1 或 Subclass2 的实例。

    因此,您必须为需要使用的每个单独的类添加一个扩展。或者,向 TranscoHelper 添加调用 Subclass1/2 静态方法的方法。

    【讨论】:

      猜你喜欢
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-21
      • 1970-01-01
      相关资源
      最近更新 更多