【发布时间】:2013-04-27 11:48:51
【问题描述】:
我不想用 IronPython 实现以下 C#/.Net 接口:
public static class Consumes<TMessage> where TMessage : class
{
public interface All
{
void Consume(TMessage message);
}
}
这是我目前尝试的python代码:
class TestMessage(object):
pass
class TestConsumer(Consumes[TestMessage].All):
def Consume(self, message):
pass
由此我得到以下异常:
TypeError:TestConsumer:无法从打开的通用实例化 MassTransit.Consumes`1+All[TMessage] 继承。仅支持关闭的实例化。
实现此接口的有效 C# 类定义如下所示:
public class TestConsumer : Consumes<TestMessage>.All
{
public void Consume(TestMessage msg) { }
}
那么是不是不可能在 IronPython 中实现这种功能?还是我做错了?
提前谢谢你!
【问题讨论】:
-
您能否提供 IConsumer 或将其从您的示例中删除。我不认为它是相关的,但谁知道呢。
-
删除它。它只是 Masstransit 内部使用的一个空标记界面。谢谢你的提示!
标签: c# generics ironpython masstransit