入力クラス名="ABC"のような特定のクラス名の例の完全な名前空間パスを取得しようとしています
AB 名前空間にあるクラス ABC
ABABCのようなフルパスが必要です
私の入力タイプは、タイプではなくクラスの名前のような文字列で渡します
Type t= Type.GetType("ABABC"); 働く
Type t= Type.GetType("ABC"); 動作していません
ABCでABABCを見つける方法
コード :
public partial class UcDataGridView : DataGridView
{
private string _ClassFullName = "UcDataGridView";
[Browsable(true), Category("Misc")]
public string ClassFullName
{
get
{ return _ClassFullName; }
set
{
_ClassFullName = value;
if (!string.IsNullOrEmpty(_ClassFullName))
{
ClassType = Type.GetType(_ClassFullName);
if (ClassType != null)
{
if (ClassType.IsClass)
{
PropertyInfo[] props = ClassType.GetProperties();
foreach (var item in props)
{
var txtCol = new DataGridViewTextBoxColumn();
txtCol.Name = "C" + item.Name;
txtCol.HeaderText = item.Name;
txtCol.DataPropertyName = item.Name;
txtCol.ReadOnly = true;
this.Columns.Add(txtCol);
}
}
else
this.Columns.Clear();
}
else
this.Columns.Clear();
}
else
this.Columns.Clear();
Invalidate();
}
}
private Type ClassType { get; set; }
public UcDataGridView()
{
InitializeComponent();
}
}