我在一个解决方案中有两个项目,project A
并且project B
( using VS2010 Ultimate and C# windows application
)。
Project B
充当project A
. 在project B
我有一个包含一个chekcedlistbox
控件的表单,该控件将列出所有project A
表单名称和文本(此表单将让系统管理员根据用户的安全组授予用户允许查看/编辑的表单)这是我的代码:
private void GetFormNames()
{
foreach (Assembly a in AppDomain.CurrentDomain.GetAssemblies())
{
foreach (Type t in a.GetTypes())
{
if (t.BaseType == typeof(Form))
{
var emptyCtor = t.GetConstructor(Type.EmptyTypes);
if (emptyCtor != null)
{
var f = (Form)emptyCtor.Invoke(new object[] { });
string FormText = f.Text;
string FormName = f.Name;
checkedListBox1.Items.Add("" + FormText + "//" + FormName + "");
}
}
}
}
}
我得到的结果是我当前项目 (B) 和空行 (//) 和Select Window//MdiWindowDialog
,的表单名称PrintPreview
。