我想使用CodeDom实例化System.Drawing.Font的一个实例,但我无法解决如何创建一个新类型,专门用于FontFamily和FontStyle参数。使用CodeDom实例化一个非原始类型
如果我执行下面的代码:
CodeExpression[] parms = new CodeExpression[3];
parms[0] = new CodePrimitiveExpression(((System.Drawing.Font)value).FontFamily.Name);
parms[1] = new CodePrimitiveExpression(((System.Drawing.Font)value).Size);
parms[2] = new CodePrimitiveExpression(((System.Drawing.Font)value).Style);
codeObjectCreateExpression = new CodeObjectCreateExpression("System.Drawing.Font", parms);
我得到一个错误
无效的原始类型:System.Drawing.FontStyle。考虑使用CodeObjectCreateExpression。
从读书的时候,我知道我必须使用CodeObjectCreateExpression
创建类型的实例,但我不能确定如何分配anything apart from primitives它。
我不明白你是什么遇到问题。 CodeObjectCreateExpression(Type,CodeExpression [])'重载看起来非常简单且不言自明。 – leppie
@leppie我已经包含了一些代码,我希望这更有意义,我有一种感觉,我错过了一些明显的东西... – GrandMasterFlush
你确定这是你实际使用的代码吗?因为您没有将'FontFamily'传递给代码中的'CodePrimitiveExpression'构造函数。 – svick