如何从 Parent class 创建一个名为 _Extension 的 child-extension class?

How can I create a child-extension class from Parent class named _Extension?

我正在 Visual Studio 中开发 Dynamics 365。 我需要扩展一个以 _Extension 最终名称命名的 class。 详情如下:

class MyParentClass_Extension
{
    str doSomething(int arg) 
   {
       // ...
   }
}

我想创建一个 child class:

[ExtensionOf(classStr(MyParentClass_Extension))]
final class My ChildClass_Extension_Extension
{
    str doSomething(int arg) 
    {
        // Part 1
        var s = next doSomething(arg + 4);
        // Part 2
        return s;
    }
}

我检索了一个编译错误。 有什么方法可以像我一样扩展 class?

谢谢。

你必须 运行 Platform Update 26 or later。只有在 PU26 或更高版本的平台上才能扩展扩展名 类。

在我上面提供的link中的"Extensibility Enhancements"下,你会发现一个link the third wave of extensibility enhancements。在这里你会注意到他们已经添加了扩展扩展的能力。

回答您的问题:您可能会收到编译错误,因为您 运行 是 PU26 之前的平台更新。

我看你的代码,一共有3个class:

  1. MyParentClass
  2. MyParentClass_Extension 扩展 MyParentClass
  3. MyParentClass_Extension_Extension 扩展 MyParentClass_Extension

现在,当您创建扩展时,您总是将其设置为 final,这意味着您无法进一步扩展此 class。在你的情况下,我相信你已经为 MyParentClass_Extension class 设置了 final 并且下一个 child class MyParentClass_Extension_extension 正在尝试扩展 MyParentClass_Extensionfinal。这就是你收到错误的原因。