祝福大家新年快乐,还有一个问题求助:无返回值方法处理问题?

霜寒月冷 2009-01-26 10:52:52

   class Class1
{
public static string str; //以下方法里面都包这些含静态成员变量
public static int i;

//假设方法很多(不止这些)。有时候要用其中一个,那到好办,如果要调用全部。或者组合其中大部分(少部分不需要),该怎么写?(问题1)
//委托能不能实现?(问题2)
//接口里面不能放静态字段,我如果要将这些方法放在接口里面如何处理?(问题3)
public void Method1()
{

}
public void Method2()
{

}
public void Method3()
{

}
public void Method4()
{

}
public void Method5()
{

}
}

一个问题20分。帮顶也有分!
...全文
173 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
king19840811 2009-01-27
  • 打赏
  • 举报
回复
接口是规则不能有参数

想用参数用抽象类
C_sdnElf 2009-01-27
  • 打赏
  • 举报
回复
帮顶了!
hangang7403 2009-01-27
  • 打赏
  • 举报
回复
UP
GavinKeng 2009-01-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 mrlen 的回复:]
//接口里面不能放静态字段,我如果要将这些方法放在接口里面如何处理?(问题3)

接口是规则。

接口类似于类,但它的成员都没有执行方式,它只是方法、属性、事件和索引符的组合而已,甚至不能实例化一个接口,接口只包含成员的签名,接口也只能包含这四种成员,它没有构造函数,也没有字段,接口不允许进行运算符重载。
那么为什么要使用接口呢?主要原因是它们是一种有效的契约,类有一些成员,不必考虑把成员组合在一起…
[/Quote]

帮顶。本来我想回答的,但楼上说的够了。
阿云ivan 2009-01-26
  • 打赏
  • 举报
回复
happy 牛 year
HDNGO 2009-01-26
  • 打赏
  • 举报
回复
回答问题20分,帮顶60-20=40~~

我帮顶~
pp_shy 2009-01-26
  • 打赏
  • 举报
回复
1、大部分组合的问题,楼主再添加个方法,把需要用到的方法全放在一个方法中
这样在类的外部调用中只需要调用一个方法

public void MethodN()
{
Method1();
Method2();
......
Method5();
......
}


2、不知道楼主的具体实际需求,从楼主给的小例子中感觉好像没有必要用委托

3、C#中是不允许在接口中定义静态字段的
颤菊大师 2009-01-26
  • 打赏
  • 举报
回复
//接口里面不能放静态字段,我如果要将这些方法放在接口里面如何处理?(问题3)

接口是规则。

接口类似于类,但它的成员都没有执行方式,它只是方法、属性、事件和索引符的组合而已,甚至不能实例化一个接口,接口只包含成员的签名,接口也只能包含这四种成员,它没有构造函数,也没有字段,接口不允许进行运算符重载。
那么为什么要使用接口呢?主要原因是它们是一种有效的契约,类有一些成员,不必考虑把成员组合在一起的问题,类只包含一个拥有各种方法、字段和属性等的列表,但为了能以某种方式使用类,必须知道类能执行哪些功能,具体操作是声明执行一个或多个接口的类,类执行接口的方式是从这个接口派生,再提供在这个接口中定义的所有成员的执行方式。

颤菊大师 2009-01-26
  • 打赏
  • 举报
回复
        //假设方法很多(不止这些)。有时候要用其中一个,那到好办,如果要调用全部。或者组合其中大部分(少部分不需要),该怎么写?(问题1)
//委托能不能实现?(问题2)

delegate void Methods();

static void Main(string[] args)
{
//Demo4();
Methods ms = Method1;
ms += Method2;
ms += Method3;
ms += Method4;
ms += Method5;
ms();
Console.ReadKey();

}

static void Method1() { Console.WriteLine("This is Method1"); }
static void Method2() { Console.WriteLine("This is Method2"); }
static void Method3() { Console.WriteLine("This is Method3"); }
static void Method4() { Console.WriteLine("This is Method4"); }
static void Method5() { Console.WriteLine("This is Method5"); }
颤菊大师 2009-01-26
  • 打赏
  • 举报
回复
委托是用来做什么的?
多播委托……

111,131

社区成员

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

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

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