本文介绍了如何创建具有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<;>;类型的CodeFunction2?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!