我有4个重载的方法,其中第四个相当于执行方法3和方法2,怎么写?

gxpotato 2009-03-12 05:18:12
public 方法A()
{}

public 方法A(string str)
{
string myStr=str;
}

public 方法A(object obj)
{
object myObj=obj;
}

public 方法A(string str,object obj)
{
string myStr=str;
object myObj=obj;

}

最后一个方法A(string str,object obj)是方法A(string)和方法A(object)一起执行,虽然可以这样写,但是,我记得C#里面可以进行base的继承的,相当于,同时继承2GE方法
...全文
152 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxpotato 2009-04-13
  • 打赏
  • 举报
回复
果然是,人类的智慧真是无穷无尽,天才和庸才的差别就是一个弯而已,所以,我是个庸才。楼上的高手好多。。结贴。
caorenlong 2009-03-19
  • 打赏
  • 举报
回复
顶一贴
wuyi8808 2009-03-16
  • 打赏
  • 举报
回复
using System; 

class 方法A
{
// 公有构造函数,不需改动:

public 方法A()
{
}

public 方法A(string str)
{
私有方法A(str);
}

public 方法A(object obj)
{
私有方法A(obj);
}

public 方法A(string str, object obj)
{
私有方法A(str);
私有方法A(obj);
}


// 以下是私有方法A,如果需要改动,只要改动以下2个私有方法:

private void 私有方法A(string str)
{
string myStr = str;
}

private void 私有方法A(object obj)
{
object myObj = obj;
}
}
wuyi8808 2009-03-16
  • 打赏
  • 举报
回复
using System; 

class Test
{
public void 方法A()
{}

public void 方法A(string str)
{
string myStr = str;
}

public void 方法A(object obj)
{
object myObj = obj;
}

public void 方法A(string str, object obj)
{
方法A(str);
方法A(obj);
}
}
gisyellow 2009-03-15
  • 打赏
  • 举报
回复
public 方法A()
{}

public 方法A(string str)
{
string myStr=str;
}

public 方法A(object obj)
{
object myObj=obj;
}

public 方法A(string str,object obj)
{
string myStr=方法A(str);
object myObj=方法A(obj);

}
wy665661 2009-03-12
  • 打赏
  • 举报
回复
public void a()
{
Console.WriteLine("this function has no param");
}

public void a(string str)
{
Console.WriteLine(" this function has a param str");
}

public void a(object obj)
{
Console.WriteLine(" this function has a param obj");
}

public void a(string str, object obj)
{
Program p = new Program();
p.a(str);
p.a(obj);
}
这样做似乎也有点 .... 但是符合你的要求哦!
pztx1992 2009-03-12
  • 打赏
  • 举报
回复
楼主 你无满意结贴吧!


gxpotato 2009-03-12
  • 打赏
  • 举报
回复

public 方法A()
{}

public 方法A(string str)
{
string myStr=str;
}

public 方法A(object obj)
{
object myObj=obj;
}

//我现在是这样做的,只是觉得还不是很爽。
public 方法A(string str, object obj):this(obj)
{
string myStr = str;
}
}

gxpotato 2009-03-12
  • 打赏
  • 举报
回复
我的意思是,第四个方法相当于,把方法2和方法3一起执行一次。这样一来,我只需要修改方法2和方法3就不用动方法4了。
如果是你这样做的话,myStr就被赋值“”这个了。实际上,某个时候,方法2和方法3需要单独执行,并且之间的变量没有影响。
pztx1992 2009-03-12
  • 打赏
  • 举报
回复
 public class 方法A
{
public 方法A():this("")
{

}

public 方法A(string str):this(str,null)
{

}

public 方法A(object obj):this("",obj)
{

}

public 方法A(string str, object obj)
{
string myStr = str;
object myObj = obj;
}
}

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧