如何在F#3.0中使用不同类型继承相同的通用接口两次

时间:2013-03-28 21:32:59

标签: f# f#-3.0

我正在尝试使用.Net驱动程序Neo4jNeo4jClient实现对象模型。我收到编译错误

  

此类型在不同的通用实例'IRelationshipAllowingParticipantNode<Person>''IRelationshipAllowingParticipantNode<Company>'实现或继承相同的接口。在此版本的F#中不允许这样做。

这是这些接口的实现(来自Neo4jClient源代码)

public interface IRelationshipAllowingParticipantNode<out TNode>
{
}
public interface IRelationshipAllowingSourceNode<out TNode>
    : IRelationshipAllowingParticipantNode<TNode>
{
}
public interface IRelationshipAllowingTargetNode<out TNode>
    : IRelationshipAllowingParticipantNode<TNode>
{
}

这是我的课程,无法编译

type FollowRelationship(target) =
    inherit Relationship(target)
    interface IRelationshipAllowingSourceNode<Person>
    interface IRelationshipAllowingTargetNode<Company>

    override this.RelationshipTypeKey
        with get() = "follow"

怎么在这里?我怎样才能避免这个错误?我可以使用F#中的Neo4jClient库吗?

0 个答案:

没有答案