如何在界面中实现一个属性

我有接口IResourcePolicy包含属性Version 。 我必须实现这个包含值的属性,写在其他页面的代码:

 IResourcePolicy irp(instantiated interface) irp.WrmVersion = "10.4"; 

我怎样才能实现财产version

 public interface IResourcePolicy { string Version { get; set; } } 

在界面中,您可以指定属性:

 public interface IResourcePolicy { string Version { get; set; } } 

在实现类中,你需要实现它:

 public class ResourcePolicy : IResourcePolicy { public string Version { get; set; } } 

这看起来很相似,但是完全不同。 在界面中,没有代码。 你只是指定有一个属性有一个getter和一个setter,不pipe他们会做什么。

在课堂上,你实际上实现了他们。 最简单的方法是使用这个{ get; set; } { get; set; } { get; set; }语法。 编译器将创build一个字段并为其生成getter和setter实现。

你是这个意思吗?

 class MyResourcePolicy : IResourcePolicy { private string version; public string Version { get { return this.version; } set { this.version = value; } } } 

接口不能包含任何实现(包括默认值)。 你需要切换到抽象类。

在接口中使用属性的简单示例:

 using System; interface IName { string Name { get; set; } } class Employee : IName { public string Name { get; set; } } class Company : IName { private string _company { get; set; } public string Name { get { return _company; } set { _company = value; } } } class Client { static void Main(string[] args) { IName e = new Employee(); e.Name = "Tim Bridges"; IName c = new Company(); c.Name = "Inforsoft"; Console.WriteLine("{0} from {1}.", e.Name, c.Name); Console.ReadKey(); } } /*output: Tim Bridges from Inforsoft. */ 
  • 但我已经分配了这样的值,irp.WrmVersion =“10.4”;

J.Random编码器的答案和初始化版本字段。

 private string version = "10.4';