上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页
摘要: 委托和接口都允许类设计器分离类型声明和实现。任何类或结构都能继承和实现给定的接口。可以为任何类上的方法创建委托,前提是该方法符合委托的方法签名。接口引用或委托可由不了解实现该接口或委托方法的类的对象使用。既然存在这些相似性,那么类设计器何时应使用委托,何时又该使用接口呢? 在以下情况下,请使用委托: 当使用事件设计模式时。 当封装静态方法可取时。 ... 阅读全文
posted @ 2008-07-01 10:23 superfang 阅读(553) 评论(0) 推荐(0) 编辑
摘要: C# 语言经过专门设计,以便不同库中的基类与派生类之间的版本控制可以不断向前发展,同时保持向后兼容。这具有多方面的意义。例如,这意味着在基类中引入与派生类中的某个成员具有相同名称的新成员在 C# 中是完全支持的,不会导致意外行为。它还意味着类必须显式声明某方法是要重写一个继承方法,还是一个隐藏具有类似名称的继承方法的新方法。 在 C# 中,派生类可以包含与基类方法同名的方法。 ... 阅读全文
posted @ 2008-07-01 10:22 superfang 阅读(428) 评论(0) 推荐(0) 编辑
摘要: C# 中的每个对象都继承 ToString 方法,此方法返回该对象的字符串表示形式。例如,所有 int 类型的变量都有一个 ToString 方法,此方法可让这些变量将其内容作为字符串返回: int x = 42; string strx = x.ToString(); System.Console.WriteLine(strx); 创建自定义类或结... 阅读全文
posted @ 2008-07-01 10:17 superfang 阅读(1142) 评论(2) 推荐(0) 编辑
摘要: 通过继承,一个类可以用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任何接口类型。这称为多态性。C# 中的每种类型都是多态的。类型可用作它们自己的类型或用作 Object 实例,因为任何类型都自动将 Object 当作基类型。 多态性不仅对派生类很重要,对基类也很重要。任何情况下,使用基类实际上都可能是在使用已强制转换为基类类型的派生类对象。基类的设计者可以预测到其基类中可能... 阅读全文
posted @ 2008-07-01 10:15 superfang 阅读(401) 评论(0) 推荐(0) 编辑
摘要: virtual 关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。例如,此方法可被任何继承它的类重写。 public virtual double Area() { return x * y; } 虚拟成员的实现可由派生类中的重写成员更改。 调用虚方法时,将为重写成员检查该对象的运行时类型。将调用大部分派... 阅读全文
posted @ 2008-07-01 10:04 superfang 阅读(929) 评论(0) 推荐(0) 编辑
摘要: 查询表达式必须以 from 子句开头。另外,查询表达式还可以包含子查询,子查询也是以 from 子句开头。from 子句指定以下内容: 将对其运行查询或子查询的数据源。 一个本地范围变量,表示源序列中的每个元素。 范围变量和数据源都是强类型。from 子句中引用的数据源的类型必须为 IEnumerable、IEnumerable)>) 或一种派生类... 阅读全文
posted @ 2008-06-30 22:58 superfang 阅读(7361) 评论(0) 推荐(1) 编辑
摘要: 可以使用 into 上下文关键字创建一个临时标识符,以便将 group、join 或 select 子句的结果存储到新的标识符中。此标识符本身可以是附加查询命令的生成器。在 group 或 select 子句中使用新标识符的用法有时称为“延续”。 下面的示例演示使用 into 关键字来启用临时标识符 fruitGroup,该标识符具有推断类型 IGrouping。通过使用该标识符,可以对每个组调... 阅读全文
posted @ 2008-06-30 22:49 superfang 阅读(14450) 评论(0) 推荐(0) 编辑
摘要: event 关键字用于在发行者类中声明事件。 下面的示例演示如何声明和引发将 EventHandler 用作基础委托类型的事件。 public class Publisher { // Declare the delegate (if using non-generic pattern). public delegate void ... 阅读全文
posted @ 2008-06-30 22:43 superfang 阅读(1690) 评论(0) 推荐(0) 编辑
摘要: volatile 关键字指示一个字段可以由多个同时执行的线程修改。声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。这样可以确保该字段在任何时间呈现的都是最新的值。 volatile 修饰符通常用于由多个线程访问但不使用 lock 语句对访问进行序列化的字段。 volatile 关键字可应用于以下类型的字段: 引用类型。 指针类... 阅读全文
posted @ 2008-06-30 22:36 superfang 阅读(1208) 评论(0) 推荐(1) 编辑
摘要: 在方法范围中声明的变量可以具有隐式类型 var。隐式类型的本地变量是强类型变量(就好像您已经声明该类型一样),但由编译器确定类型。下面的两个 i 声明在功能上是等效的: var i = 10; // implicitly typed int i = 10; //explicitly typed 过多使用 var 可能使源代码的可读性在他人眼里变差。建议仅在必要... 阅读全文
posted @ 2008-06-30 22:26 superfang 阅读(2194) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页