C#读书笔记之object类的基本方法
The ToString() Method
For example:
int i = 50;
string str = i.ToString(); // returns "50"
Here’s another example:
enum Colors {Red, Orange, Yellow};
// later on in code...
Colors favoriteColor = Colors.Orange;
string str = favoriteColor.ToString(); // returns "Orange"
objetc.tostring()是一个virtual方法,大部分预定义类型都有对此方法的自定义实现。
EXTENSION METHODS
扩展方法用来扩张一个类的方法,当无法更改一个类中的源代码时可以通过下面方法来为该类添加一个新方法
namespace Wrox
{
public static class MoneyExtension
{
public static void AddToAmount(this Money money, decimal amountToAdd)
{
money.Amount += amountToAdd;
}
}
}
其中Money是需要扩展的类。注意到扩展方法的第一个参数需要添加this作为前缀,以此告诉编译器这个方法是Money类的一部分
使用该方法和使用其原有的方法是一样的
Money cash1 = new Money();
cash1.AddToAmount(10M);
虽然说添加的方法是static的,但是调用还是通过实例来调用的而非类型名。