Como implementar uma propriedade em uma interface

tenho interface IResourcePolicy que contém a propriedade Version. Tenho que implementar esta propriedade que contém valor, o código escrito em outras páginas:

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

Como posso implementar a propriedade?

public interface IResourcePolicy
{
   string Version
      {
          get;
          set;
      }
}
 101
Author: Shivam657, 2009-10-20

5 answers

Na interface, você especifica a propriedade:

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

Na classe de implementação, você precisa implementá-la:

public class ResourcePolicy : IResourcePolicy
{
   public string Version { get; set; }
}
Isto parece semelhante, mas é algo completamente diferente. Na interface, não há código. Você apenas especifica que há uma propriedade com um getter e um setter, o que quer que eles vão fazer. Na turma, implementam-nas. A maneira mais curta de fazer isso é usando esta sintaxe { get; set; }. O compilador irá criar um campo e gerar o implementação getter e setter para ele.
 232
Author: Stefan Steinegger, 2016-02-10 11:28:30
Queres dizer assim?
class MyResourcePolicy : IResourcePolicy {
    private string version;

    public string Version {
        get {
            return this.version;
        }
        set {
            this.version = value;
        }
    }
}
 19
Author: J. Random Coder, 2009-10-20 09:29:30

As Interfaces não podem conter qualquer implementação (incluindo valores predefinidos). Tens de mudar para a aula abstracta.

 12
Author: Vitaliy Liptchinsky, 2009-10-20 09:23:27

O exemplo simples de usar uma propriedade numa interface:

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.
 */
 2
Author: Bernard Czaiński, 2016-12-14 14:28:43
  • mas eu já atribuí valores tais que irp.WrmVersion = "10.4";
Resposta de J. Random Coder e inicializar campo de versão.

private string version = "10.4';
 0
Author: kazuk, 2009-10-20 09:58:55