我有一个继承contentView的类,一个叫做MeasureCompCommon的类。
我编写了在这门课中通用的部分。
现在,每个类都要继承并使用这个MeasureCompCommon类。继承自一个名为MeasureMainView的类。
出现多个错误。
################ 错误#########################################################################################################################################################################################################################################
编译器错误CS0579
重复的'attribute'属性
除非属性在其AttributeUsage中指定AllowMultiple = true,否则无法多次指定同一属性。
编译器错误CS0111型别'class'已经定义了名为'member'的成员,它具有相同的参数型别
如果类包含两个具有相同名称和参数类型的成员声明,则会发生CS0111。
namespace POP.Component
{
public partial class MeasureCompCommon : ContentView
{
public MeasureCompCommon()
{
Initialized();
}
private void Initialized()
{
if (this.Parent is StackLayout)
{
StackLayout sl = this.Parent as StackLayout;
int count = sl.Children.Count;
for (int i = 0; i < count; i++)
{
if (sl.Children[i] != this)
sl.Children.RemoveAt(i);
}
}
}
}
}
namespace POP.Component
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class MeasureMainView : MeasureCompCommon
{
DisplayInfo m_MainDisplayInfo = DeviceDisplay.MainDisplayInfo;
public MeasureMainView()
{
InitializeComponent();
InitButton();
}
1条答案
按热度按时间7kqas0il1#
默认情况下,属性被限制为只能应用于单个字段/属性/等一次。所有子类都以相同的方式受到限制,如果您需要同一属性的多个示例,则需要显式将AllowMultiple设置为true。因此,您可以在需要继承measurecomprom类的每个类之前添加以下语句:
在允许多次使用的属性(Attribute)上,您也应该覆写TypeId属性(Property),以确保PropertyDescriptor.Attributes等属性(Property)如预期般运作。最简单的方法是实作该属性(Property),以传回属性(Attribute)执行严修本身:
如果您有任何后续问题,可以再次发表评论。