这应该是一个相当简单的问题.我正在使用DocX库来创建新的word文档.我想制作一个测试word文档,看看每个TableDesign(枚举)如何选择我需要的那个.
Designs \可以应用于表格的样式.命名空间:Novacode程序集:DocX(在DocX.dll中)版本:1.0.0.10(1.0.0.10)
句法:
public enum TableDesign
会员名称
Custom
TableNormal
TableGrid
LightShading
LightShadingAccent1
....
等等.我想得到一些TableDesign的列表,所以我可以在一个方法中重用它,为所有可能性创建新设计的新表,但我真的不知道如何从该枚举中获取列表:
foreach (var test in TableDesign) {
createTable(documentWord, test);
}
Run Code Online (Sandbox Code Playgroud)
我怎么做到的?
Mad*_*Boy 14
找到答案自己:
// get a list of member names from Volume enum,
// figure out the numeric value, and display
foreach (string volume in Enum.GetNames(typeof(Volume)))
{
Console.WriteLine("Volume Member: {0}\n Value: {1}",
volume, (byte)Enum.Parse(typeof(Volume), volume));
}
Run Code Online (Sandbox Code Playgroud)
对于我的具体案例,我使用过:
foreach (var test in Enum.GetNames(typeof(TableDesign))) {
testMethod(documentWord, test);
}
Run Code Online (Sandbox Code Playgroud)
在testMethod我:
tableTest.Design = (TableDesign) Enum.Parse(typeof(TableDesign), test);
Run Code Online (Sandbox Code Playgroud)
它没有问题(即使它很慢,但我只是想快速得到东西(并且是一个性能并不重要).
也许它将来会对某人有所帮助:-)
交替:
foreach (var volume in Enum.GetValues(typeof(Volume)))
{
Console.WriteLine("Volume Member: {0}\n Value: {1}",
volume, (int) volume);
}
Run Code Online (Sandbox Code Playgroud)
GetValue将返回一个Volume[]作为enums的值。打印一个enum值将调用它的ToString(),按它的名称呈现它。投射到int(优于byte) 将给出其编号。
| 归档时间: |
|
| 查看次数: |
10428 次 |
| 最近记录: |