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
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";
private string version = "10.4';
0
Author: kazuk, 2009-10-20 09:58:55