我知道互联网上有这方面的信息,但我无法将其转化为我的情况。
我有一个 xaml 窗口,我收到错误消息:“GX3OpenStackupGUIPlugin.GX3OpenStackupGUIPlugin”的部分声明不得指定不同的基类 .
我背后的代码是:
public partial class GX3OpenStackupGUIPlugin : GX3ClientPlugin, IGX3PluginInterface
{
我的 xaml 是:
<Grid xmlns:my="clr-namespace:CustomControls;assembly=MultiComboBox" xmlns:extToolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended" x:Class="GX3OpenStackupGUIPlugin.GX3OpenStackupGUIPlugin"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
请有人指教:)
这是我找到但正在努力翻译的内容的链接... Partial declarations must not specify different base classes
在做了更多研究之后,我发现如果我更改我的代码以在我的 xaml 中实现顶级元素,它就会消除错误。这显然仍然是一个问题,因为我的代码隐藏类需要实现我设计的接口(interface)。
最佳答案
您链接到的问题包含答案。问这个问题的人是从这个开始的(有效):
<A x:Class="B">
public partial class B : A
然后他们将其更改为(无效):
<A x:Class="C">
public partial class C : B
这不起作用,因为在幕后,基于 XAML 生成了一个 .cs 文件,其中包含继承自 A 的分部类。要修复它,他们需要将其更改为:
<B x:Class="C">
public partial class C : B
所以在你的情况下,我相信你应该替换网格,即做这样的事情:
<namespace:GX3ClientPlugin x:Class="namespace.GX3OpenStackupGUIPlugin">
public partial class GX3OpenStackupGUIPlugin : GX3ClientPlugin
(我假设 GX3ClientPlugin 最终继承自 Grid 或 UserControl 之类的东西?)
关于c# - 的部分声明不得指定不同的基类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10414151/