MSDN文档的第一句话回答了您的问题:
virtual关键字用于修改方法,属性,索引器或事件声明,并允许在派生类中重写它.
http://msdn.microsoft.com/en-us/library/9fkccyh4(v=vs.80).aspx
不,只能分配一个字段,不能覆盖.
但是,您可能使用属性,它看起来几乎相同
public class MyClass {
public int MyField; //field
public virtual int MyProperty { get; set; } //property
}
Run Code Online (Sandbox Code Playgroud)
两者都这样使用:
var x = new MyClass();
Debug.WriteLine("Field is {0}", x.MyField);
Debug.WriteLine("Property is {0}", x.MyProperty);
Run Code Online (Sandbox Code Playgroud)
除非消费者使用反射,否则它看起来完全一样.
但是,您可以拥有虚拟或抽象属性:
public abstract string ModelName { get; set; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37509 次 |
| 最近记录: |