方法是一个执行可以由对像或类完成的计算或行为的成员。方法有一个形式参数列表(可能为空),一个返回数值(或void),并且可以是静态也可以是非静态。静态方法要通过类来访问。非静态方法,也称为实例方法,通过类的实例来访问。事件是使得对像和类提供通知的成员。一个类通过提供事件声明来定义一个事件,这看起来与域和事件声明相当类似,但是有一个event关键字。这个声明的类型必须是delegate类型。 在这个例子中 public delegate void EventHandler(object sender, Event e); public class Button { public event EventHandler Click; public void Reset() { Click = null; } }
1.12 名字空间(Namespaces) 我们在前面已对namespace花了不少笔墨(俺都忘了该如何接上了!O.K.请大家看完再倒)。我们曾经说“i not like the hello world”。但是在程序中要经常说就会很累,如果要在别的代码中用就更繁了,这时可以用 namespace搭救。我把第一个例子切开,代码如下:*/ namespace MyOpinion { public class Message { public string GetMessage() { return "i dont like Hello world"; } } } /* 如果我想用namespace建立一个自己的库,就要对我的自定义函数和类进行分类,并填入相应的namespace中。 如:*/namespace Mylib.Csharp.MyOpinion { public class Message { public string GetMessage() { return "i dont like Hello world"; } } } /* namespace是分等级的,“Mylib.Csharp.MyOpinion”其实是缩写,每个“.”后面的namespace都被它前面的包 含。如果拆开:*/ namespace Mylib { namespace Csharp { namespace MyOpinion {....} } } /* 然后,我们就可以用自己的库了:*/ using Mylib.Csharp.MyOpinion; class test { static void Main() { Message m = new Message(); System.Console.WriteLine(m.GetMessage()); } } /* 不过无论我们命名如何小心都会出现重名,即命名冲突。这时可以用别名来解决,比如上面的代码可以这样:*/ using MessageSource = Mylib.Csharp.MyOpinion; class test { static void Main() { MessageSource m = new MessageSource(); System.Console.WriteLine(m.GetMessage()); } }
初探c#(十三)属性(Properties)
在这个例子中
public delegate void EventHandler(object sender, Event e);
public class Button
{
public event EventHandler Click;
public void Reset() {
Click = null;
}
}
like the hello world”。但是在程序中要经常说就会很累,如果要在别的代码中用就更繁了,这时可以用
namespace搭救。我把第一个例子切开,代码如下:*/ namespace MyOpinion
{
public class Message
{
public string GetMessage() {
return "i dont like Hello world";
}
}
} /*
如果我想用namespace建立一个自己的库,就要对我的自定义函数和类进行分类,并填入相应的namespace中。
如:*/namespace Mylib.Csharp.MyOpinion
{
public class Message
{
public string GetMessage() {
return "i dont like Hello world";
}
}
} /*
namespace是分等级的,“Mylib.Csharp.MyOpinion”其实是缩写,每个“.”后面的namespace都被它前面的包
含。如果拆开:*/ namespace Mylib
{
namespace Csharp
{
namespace MyOpinion
{....}
}
} /*
然后,我们就可以用自己的库了:*/ using Mylib.Csharp.MyOpinion;
class test
{
static void Main() {
Message m = new Message();
System.Console.WriteLine(m.GetMessage());
}
} /*
不过无论我们命名如何小心都会出现重名,即命名冲突。这时可以用别名来解决,比如上面的代码可以这样:*/ using MessageSource = Mylib.Csharp.MyOpinion;
class test
{
static void Main() {
MessageSource m = new MessageSource();
System.Console.WriteLine(m.GetMessage());
}
}