如何使用反射从已编译的程序集随机生成短语/问题/值并另存为数据集
本文关键字:短语 问题 数据集 另存为 随机 反射 何使用 编译 程序集 | 更新日期: 2023-09-27 18:35:39
我有几个编译的dll文件,其中包含一个简单的类,并具有字符串数组,其中包含带有标记答案的问题和答案。
示例问题如下:
以下哪一个是符号C和原子序数为6的化学元素?选项:A) 煤 b) 碳 * c) 氯化物 d) 铬
每个集合都有关于不同主题的多个题库,每个题库都有几个悬而未决的问题。
目的是从每个程序集中生成一个随机生成的问题,每个问题库的特定数量[例如每个问题库中每个程序集中的 25 个问题]。
请参阅下图以获得清晰的想法,并建议以相同方式提取问题的最佳方法。
必需 http://www.imagesup.net/dt-13138191632515.png
我有一个解决方法。
我正在使用以下代码
public static T Extract<T>(params T[] array) // where params can be any string array
{
int index = new Random().Next(0, array.Length);
return (T)array.GetValue(index);
}
public static string GetQuestion()
{
return Extract<String>(new string[] {
"Question 1: What is the question 1 answer? (A) it's A (B) it's B * (C) it's C (D) it's D",
"Question 2: What is the question 2 answer? (A) it's A * (B) it's B (C) it's C (D) it's D",
"Question 3: What is the question 3 answer? (A) it's A (B) it's B (C) it's C (D) it's D * ",
"Question 4: What is the question 4 answer? (A) it's A (B) it's B (C) it's C * (D) it's D",
}));
}
使用反射调用此方法并不困难。