所以我有很多.Net库/类,我想为它们生成类型记录定义。打字稿太棒了!我用简单的例子试了一下,它确实工作得很好。我面临的唯一问题是,我所拥有的一个组合并不适用于它。以下是它不起作用的原因:
[TsClass]
public class Bob<T>
{
public MyTestEnum MyEnum { get; set; }
public string TestString { get; set; }
public string MyProperty { get; set; }
}
[TsEnum]
public enum MyTestEnum
{
One,
Two,
Three
}问题是,我不能将泛型<T>和Enum组合在同一个位置。为了让它发挥作用,我需要把他们中的任何一个都干掉。
这是当我运行它时它会给我的错误:
Error 17 Running transformation: System.NullReferenceException: Object reference not set to an instance of an object.
at TypeLite.TsModelBuilder.AddEnum(TsEnum tsEnum) in C:\___PROJECTS___\TypeLITE\TypeLite\TsModelBuilder.cs:line 98
at TypeLite.TsModelBuilder.Add(Type clrType, Boolean includeReferences) in C:\___PROJECTS___\TypeLITE\TypeLite\TsModelBuilder.cs:line 83
at TypeLite.TsModelBuilder.Add(Assembly assembly) in C:\___PROJECTS___\TypeLITE\TypeLite\TsModelBuilder.cs:line 108
at TypeLite.Net4.TypeScriptFluentExtensions.ForLoadedAssemblies(TypeScriptFluent ts) in C:\___PROJECTS___\TypeLITE\TypeLite.Net4\TypeScriptFluentExtensions.cs:line 16
at Microsoft.VisualStudio.TextTemplatingBDE10CD05B2CB4C5419DB79DDF5BA5BA06D673F55FF952439E5971D4E1F394085E3B6D99DC6D1E992221FAC06D0692FFD83BE54FE5AF6A567A491DF31AE26472.GeneratedTextTransformation.TransformText() ..\Scripts\TypeLite.Net4.tt事实上,我没有对泛型做任何事情,这是无关紧要的(我只是想让它发挥作用!)
如果你知道一个解决办法,或者你能介绍另一个类似于它的实用程序,我会很感激你。
我已经向开发人员报告了这个问题(希望Lukas能尽快解决这个问题):https://bitbucket.org/LukasKabrt/typelite/issue/41/issue-with-generics-and-enums
发布于 2014-06-07 23:32:16
多亏了保罗·奥尼尔,这个bug在最新版本(0.9.1.8)中得到了修复
https://stackoverflow.com/questions/23960692
复制相似问题