写一个公共的class,将这些属性和方法以 static的形式编码
解决方案 »
- C# winform datagridview中如何显示多行文本
- c#如何使用xml??
- (Object-Oriented Database)对象数据库必须有什么样的功能才能吸引你使用。
- 由于控件数量很多,窗体重绘时控件闪烁如何解决
- 如何设置居中又按比例伸缩的墙纸?
- 加密文件问题(XML和文本文件,内容含有中文)
- Visual Studio .net 的安装组件有哪儿些?
- 请教一个关于水晶报表的问题,望高人指点啊! 谢谢
- 关于VS.NET的安装程序的制作问题,请高手帮忙!得到解答,立即结帐!
- 这个问题怎么解决?
- 微软为什么不把所有的api都封装到一个静态的类里面,
- 救命啊,如何使用strcpy之类的函数
class MyExtend
{
//一样的属性和方法
protected Property1;
.
.
.
protected PropertyX; protected method1;
.
.
.
protected methodX;}
class MyPage : System.Web.UI.Page
{
MyExtend m_myExtend;
//其他代码
}
class MyUC
{
MyExtend m_myExtend;
//其他代码
}
{
MyExtend m_myExtend;
//其他代码
}m_myExtend需要调用MyPage和MyUC中的大量的方法和属性,
这样面临的很大量的赋值.
那,我在MyPage, MyUC都要加入相同的代码,此乃下策.
{
MyExtend(System.Web.UI ui)
{
m_myPage = ui as MyPage;
if (m_myPage == null)
{
m_myUC = ui as MyUC;
m_isPage = false;
}
else
{
m_isPage = true;
}
} private MyPage m_myPage;
private MyUC m_myUC;
private bool m_isPage; public void MyFuction(int dkd)
{
if (m_isPage)
{
m_myPage.function1();
m_myPage.function2(dkd);
........
}
else
{
m_myUC.functionx();
}
}
}Actually, It looks a little bit ugly. If you like, you can define a new interface which
MyUC and MyPage will implement it. Then use the interface in MyExtend instead of the class.Cheers
把共有的属性和方法写进取
然后其它类继承它
这样不知行不行
你说的包含是个思路, 问题在于MyPage、MyUC包含了MyCommon类, MyCommon.method将无法使用到MyPage、MyUC的饿属性和方法,如:MyCommon.method(System.Web.UI.Control p_ctrl),System.Web.UI.Control是MyPage、MyUC的共同基类, 这样只可以用到System.Web.UI.Control中的属性和方法,而我定义的MyPage,MyUC共同的属性和方法就没法使用了。
现在你可以:
定义一个类myBase,包含所有公用属性和方法
在你的MyPage(页面基础类)和MyUC(控件基础类)中使用相同的一个接口,实现一个属性,这个属性返回myBase
如此,接口规范了实现,不复用的只有这个属性,但这个属性使你复用了所有myBase