com interop的Marshal通用返回类型

时间:2010-04-08 07:30:08

标签: .net generics com interop

对于COM互操作,是否可以将通用返回类型标记为非泛型?

假设我有以下课程:

[ComVisible(true)]
public class Foo
{
    public IEnumerable<string> GetStr() // Generic return type
    {
        yield break;
    }
}

我知道IEnumerable&lt; string&gt;实现IEnumerable。

我可以强制tlbexp.exe(通过return:属性或通过其他方式)公开GetStr()方法 作为返回IEnumerable的方法?

1 个答案:

答案 0 :(得分:0)

我认为不可能,不。当您使用COM interop marshaling达到限制时,通常最好使用COM友好界面创建单独的包装器类型,并使原始类型尽可能保持.NET友好。