如何创建具有IEnumerable<>类型的CodeFunction2?

How to create CodeFunction2 with IEnumerablelt;gt; Type?(如何创建具有IEnumerablelt;gt;类型的CodeFunction2?)

本文介绍了如何创建具有IEnumerable<>类型的CodeFunction2?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的需要创建如下所示的内容,我正在构建两个类,第一个是名为ableNameAsSingular(即AddressEntity)的类,在我的第二个Worker类中,我需要具有类似以下内容的内容

public IEnumerable<AddressEntity> GetAddressEntity()
{
 // the good stuff...
}

创建函数时,我有以下情况..

Type t = Type.GetType("IEnumerable<" + tableNameAsSingular + ">");
CodeFunction2 finderFunction = (CodeFunction2)entityServiceClass.AddFunction("Get" + table.Name, vsCMFunction.vsCMFunctionFunction, t, -1, vsCMAccess.vsCMAccessPublic, null);

但%t始终为空

当我这样做时Type.GetType(tableNameAsSingular)它也返回空值

任何帮助或建议都将受到极大的欢迎。另外,如果有人知道有太多的EnvDTE代码生成知识存放在哪里,那我就太棒了!


更新

我现在尝试将其作为字符串使用:

   public void AddFinderMethod()
    {
        string t = "IEnumerable<" + tableNameAsSingular + ">";
        CodeFunction2 finderFunction = (CodeFunction2)entityServiceClass.AddFunction("Get" + table.Name, vsCMFunction.vsCMFunctionFunction, t, -1, vsCMAccess.vsCMAccessPublic, null);
        // Code here remove as it does not get this far yet.
    }

但我在AddFunction方法中收到"IEnumerable<ProductEntity> is not a valid identifier"错误消息

推荐答案

已设法使其与以下各项配合使用:

string returnType = "System.Collections.Generic.IEnumerable<" + tableNameAsSingular + ">"; 
CodeFunction2 finderFunction = (CodeFunction2)entityServiceClass.AddFunction("Get" + table.Name, vsCMFunction.vsCMFunctionFunction, returnType, -1, vsCMAccess.vsCMAccessPublic, null);

这篇关于如何创建具有IEnumerable&lt;&gt;类型的CodeFunction2?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何创建具有IEnumerable&lt;&gt;类型的CodeFunction2?

基础教程推荐