如何在表单类中获取TextLine
类(PageHeader
,textline1
)的textline2
个对象的名称,并将其显示在表单中。课程如下
class Textline
{
string text;
string name;
}
class PageHeader
{
TextLine textline1;
TextLine textline2;
}
答案 0 :(得分:2)
假设您有pgHead
的实例PageHeader
。您可以通过以下方式获取textline1的名称:
pgHead.textline1.name
但是在此示例中,您应该在所有类成员之前添加public
个关键字
[编辑] 如果您只想获取PageHeader类型的字段名称,请尝试如下反射:
var items = typeof(PageHeader).GetFields(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Public);
string fieldsNames = "";
foreach (System.Reflection.FieldInfo fld in items)
{
fieldsNames += fld.Name + "\n";
}
MessageBox.Show(fieldsNames);
答案 1 :(得分:1)
如果您使用Barna的答案,请不要忘记设置Name属性。我将介绍一个匹配的构造函数:
class TextLine
{
private string text;
private string name;
public TextLine( string name )
{
this.name = name;
}
public string Name
{
get {return name;}
}
}
然后将其用于:
TextLine tl = new textLine("MyName");
System.Console.Out.Writeln( "name of tl: {0}", tl.Name );
HTH
马里奥
答案 2 :(得分:0)
我想这就是你需要的:
class Textline
{
string text;
string name;
public string Name { get { return name; } }
}
然后:
textline1.Name