如何在界面中实现一个属性
我有接口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';