public class Content : Form, Observer
{
public Content()
{
MessageBox.Show(this.Name);//在这里我希望输出的是实例的Name,也就是:FIN020201Form,现在实际输出的是Content
}
}
public partial class FIN020201Form : Content
{
public FIN020201Form()
{ }
}
{
public Content()
{
MessageBox.Show(this.Name);//在这里我希望输出的是实例的Name,也就是:FIN020201Form,现在实际输出的是Content
}
}
public partial class FIN020201Form : Content
{
public FIN020201Form()
{ }
}
解决方案 »
- AVIStreamGetFrame 问题,不能取指定帧数据!
- 打印问题
- 非常菜鸟问题
- 刚开发的平台,现在项目已经上线(.net 2005+sql server 2005+ajax) 欢迎大家多建议,顶者必送分(asp.net区也发了一份)
- 请教布儿运算问题
- datagrid刷新的问题
- 如何在winform中做出如网页中tag的鼠标提示效果?????
- 一个chm文件 不小心在打开方式上选择“wnirar”方式 结果他就变化成压缩文件图标更打不开了 帮助!
- 请问:我载visio中的选择宋体时,将其复制到WORD中,文字怎么变成了?;请指点 谢谢
- C#中的奇怪现象
- 用c#操作注册表时碰到空格,怎么办
- 查看端口是否在使用
MessageBox.Show(nf.Name)
public class Content : Form, Observer
{
public Content()
{
MessageBox.Show(GetFormName());//在这里我希望输出的是实例的Name,也就是:FIN020201Form,现在实际输出的是Content
} protected virtual string GetFormName()
{
return this.Name;
}
}
public partial class FIN020201Form : Content
{
public FIN020201Form()
{ } protected override string GetFormName()
{
return this.Name;
}
} 可以这样试试看
4楼不明白啥意思。
5楼我试了,输出还是Content,麻烦大家继续关注。
{
public Content()
{
MessageBox.Show(GetFormName());//在这里我希望输出的是实例的Name,也就是:FIN020201Form,现在实际输出的是Content
} protected virtual string GetFormName()
{
return this.Name;
}
}
public partial class FIN020201Form : Content
{
public FIN020201Form()
{ } protected override string ClassName()
{
return "FIN020201Form";
}
} 这个可以"ClassName" 可以写在父类里,用虚方法
在每个继承的类里实现就可以了!
Content c = new FIN020201Form();public class Content : Form, Observer
{
public Content()
{
MessageBox.Show(this.Name);//在这里我希望输出的是实例的Name,也就是:FIN020201Form,现在实际输出的是Content
} protected string GetName()
{
return this.GetType().Name;
} public new string Name
{
get
{
return GetName();
}
set
{
base.Name = value;
}
}
}
public partial class FIN020201Form : Content
{
public FIN020201Form()
{ }
}
{
return this.GetType().Name;
}
这个只是是获得Type的Name 你可以定义其为虚函数,在FIN020201Form 重写这个函数获取你要名称
public virtual string ClassName
{
get;
}
FIN020201Form.csprotected override string ClassName()
{
return "FIN020201Form";
}
谢谢,使用this.GetType().Name可以。
问题解决。
namespace WindowsApplication15
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
FIN020201Form f = new FIN020201Form();
} public interface IGetName
{
String GetName();
} public class Content : Form,IGetName
{
public String GetName()
{
return this.GetType().ToString();
}
public Content()
{
MessageBox.Show(GetName());//在这里我希望输出的是实例的Name,也就是:FIN020201Form,现在实际输出的是Content
}
}
public partial class FIN020201Form : Content
{
public String GetName()
{
return this.GetType().Name.ToString();
}
}
}
}
this.Name = “Content”;
MessageBox.Show(this.Name);子类中有
this.Name = “FIN020201Form“
当new FIN020201Form()时
先构造基类再子类,当然会是Content