Hallo AlexDozer,
Zitat |
Du meinst das ich dem Interface die Attribute vergebe?
|
Nein, das meinte ich nicht. Wenn beispielsweise folgendes Attribut vorhanden ist:
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
public class MyAttribute : Attribute
{
public string MyProperty { get; private set; }
//---------------------------------------------------------------------
public MyAttribute(string myArgument)
{
this.MyProperty = myArgument;
}
}
dann könnte das auf jede Klasse gepappt werden. Dieses kann in folgende Schnittstelle umgewandelt werden:
public interface MyInterface
{
string MyPropertey { get; }
}
Im Attribut-Fall schaut eine Klasse so aus:
[MyAttribute("irgendwas")]
public class Foo { }
Im Interface-Fall schaut die Klasse so aus:
public class Boo : IMyInterface
{
public string MyProperty { get; private set; }
public Boo()
{
this.MyProperty("irgendwas");
}
}
So wars gemeint. Hier siehst du auch gleich den Vorteil von den Attribute, nämlich dass es deklarativer ist und über die Meta-Daten ersichtlich ist, welchen Wert MyProperty hat.
mfG Gü