ylbtech-LanguageSamples-Versioning(版本控制)

ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Versioning(版本控制)

 

1.A,示例(Sample) 返回顶部

“版本控制”示例

本示例演示了如何在 C# 中使用 overridenew 关键字进行版本控制。版本控制有助于在基类和派生类的演变过程中维护它们之间的兼容性。有关其他信息,请参见使用 Override 和 New 关键字进行版本控制(C# 编程指南)。

安全说明 提供此代码示例是为了阐释一个概念,它并不代表最安全的编码实践,因此不应在应用程序或网站中使用此代码示例。

在 Visual Studio 中生成并运行“版本控制”示例

  1. 打开解决方案 (Versioning.sln)。

  2. 在“调试”菜单中,单击“开始执行(不调试)”。

从命令行生成并运行“版本控制”示例

  • 在命令提示符处键入以下内容:

    csc versioning.cs
    versioning
1.B,示例代码(Sample Code)返回顶部

1.B.1, Versioning.cs

// 版权所有(C) Microsoft Corporation。保留所有权利。
// 此代码的发布遵从
// Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。
//
//版权所有(C) Microsoft Corporation。保留所有权利。

// versioning.cs
// 需要 CS0114
public class MyBase 
{
   public virtual string Meth1() 
   {
      return "MyBase-Meth1";
   }
   public virtual string Meth2() 
   {
      return "MyBase-Meth2";
   }
   public virtual string Meth3() 
   {
      return "MyBase-Meth3";
   }
}

class MyDerived : MyBase 
{
   // 使用 override 关键字重写虚方法 Meth1:
   public override string Meth1() 
   {
      return "MyDerived-Meth1";
   }
   // 使用 new 关键字显式隐藏
   // 虚方法 Meth2:
   public new string Meth2() 
   {
      return "MyDerived-Meth2";
   }
   // 由于下面声明中没有指定任何关键字,
   // 因此将发出一个警告来提醒程序员
   // 该方法隐藏了继承的成员 MyBase.Meth3():
   public string Meth3() 
   {
      return "MyDerived-Meth3";
   }

   public static void Main() 
   {
      MyDerived mD = new MyDerived();
      MyBase mB = (MyBase) mD;

      System.Console.WriteLine(mB.Meth1());
      System.Console.WriteLine(mB.Meth2());
      System.Console.WriteLine(mB.Meth3());
   }
}
View Code

1.B.2,

1.B.EXE,

MyDerived-Meth1
MyBase-Meth2
MyBase-Meth3
请按任意键继续. . .

1.B,

1.C,下载地址(Free Download)返回顶部
warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/ylbtech/p/4197420.html