IronPython实现接口Properties

本文关键字:Properties 接口 实现 IronPython | 更新日期: 2023-09-27 18:28:37

我正在ironPython中实现C#中定义的接口,但无法使物业实施工作:

C#

interface IInterface
 {
  Dictionary<string, element> Elements { get; }
 }

Python:

class Implementor(IInterface):
    def __init__(self):
        self.elements = Dictionary[str, element]()
    def get_Elements(self):
        return self.elements

当调用get_Elements时,我得到以下异常:

Elements需要属性,但找到Dictionary[str,element]

我做错了什么?

谢谢!

IronPython实现接口Properties

def Implementor()定义的是一个方法,而不是一个类
正确的代码是class Implementor():

class Implementor(IInterface):
    def __init__(self):
        self.elements = Dictionary[str, element]()
    def get_Elements(self):
        return self.elements

这段代码在我的测试中运行良好(我将Implementor实例变量从python范围提取到C#中,该属性运行良好)。