【发布时间】:2012-02-24 15:22:33
【问题描述】:
我使用 OWLGrinder 创建程序集并将库导入到我的项目中。这很好用。现在我想编写自己的一组类。因此,我用相当于程序集的方式扩展了这些。但它只是行不通。
本体拥有一个名为 ManagementObject 的类。
我创建了另一个名为 RealWorldObject 的类 (C#):
公共类 RealWorldObject : ManagementObject { 公共 RealWorldObject(string uri) : base(uri) { } 公共 RealWorldObject(string uri, RdfDocument rdfdocument) : base(uri, rdfdocument) { } 公共 RealWorldObject(RdfDocument rdfdocument) : base(rdfdocument) { } 公共字符串 getClassName() { 返回 this.OwlClassName; } 公共静态 RdfDocument addRealWorldObjectIndividualt(RdfDocument rdfDocument) { 车辆车辆 = new Vehicle("vehicle1", rdfDocument); FixedEvent fxE1 = new FixedEvent("autoGekauft", rdfDocument); fxE1.agent = new xmlns.com.foaf._01.Person("robert", rdfDocument); 车辆.hasFixedEvent = fxE1; 返回 rdfDocument; }导致错误的原因:
ObjectManagement.Object.RealWorldObject 确实声明了一个(并且只有一个)OwlClassAttribute。这是插件的一个实现错误。
我应该如何通过OWLGrinder 扩展生成的类。
谢谢,很久以前我用过C#,所以我有点生疏了。
【问题讨论】:
-
构造函数重写没有用!
-
我知道,没有它应该可以工作。但如果我这样做: Realworldobject rw = new RealworldObject ("bla");我收到一个错误,没有支持 1 个参数的构造函数!