1

我正在Visual Studio for Dynamics 365 中进行开发。我需要扩展一个名为 _Extension 最终名称的类。详情如下:

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

我想创建一个子类:

[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;
    }
}

我检索编译错误。 有什么方法可以扩展像我这样的类吗?

谢谢。

4

2 回答 2

2

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

在我上面提供的链接中的“可扩展性增强”下,您会找到第三波可扩展性增强的链接。在这里,您会注意到他们添加了扩展扩展的能力。

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

于 2019-09-05T19:06:02.470 回答
1

我对您的代码的理解,共有3个类:

  1. MyParentClass
  2. MyParentClass_Extension延伸MyParentClass
  3. MyParentClass_Extension_Extension延伸MyParentClass_Extension

现在,当您创建扩展时,您始终将其设置为final,这意味着您不能进一步扩展此类。在您的情况下,我相信您已经finalMyParentClass_Extensionclass 设置了什么,而下一个子类MyParentClass_Extension_extension正在尝试扩展MyParentClass_Extensionwhich is final。这就是您收到错误的原因。

于 2019-09-26T14:16:41.560 回答