我想使用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