Kan man på något sätt komma åt attribut på properties genom att ange namnet direkt istället för som sträng nu är det här skrivet ur huvet så det kan vara lite småfel :P Men det är väl samma sak? "Prop" står fortfarande som en sträng. fattade det som att han ville ange namnet på attributet.. kanske ska tillägga att i C#/vb.net så finns det inga sätt att beskriva en metod/property/propertypath via kod mer än att plocka ut dessa via reflection med strängar.property attribut utan sträng
[MittAttribut(25)]
int prop { get() { ... } }
Följande fungerar men eftersom namnet skall anges som sträng så är det lätt att det blir felstavat och intellisense kan inte hjälpa till.
x.GetType().GetProperty("prop", MittAttribut)Sv: property attribut utan sträng
men typ:
<code>
PropertyInfo pi = obj.GetType().GetProperty("Prop");
object[] attributes = pi.GetCustomAttributes(typeof(MyAttribute));
if (attributes.length > 0)
{
//attributet finns på proppen
}
</code>Sv:property attribut utan sträng
Sv: property attribut utan sträng
men om det inte var så , så då är det ju samma sak..
annars vet jag inte riktigt vad attributen hade med det hela att göra...Sv:property attribut utan sträng
dock i c#3 med linq så finns det lite lite mer möjligheter till att beskriva en property/method path då man kan få ut ett helt uttryck i en objektgraf.
men det är väldigt specialanpassat för just querystödet så det lämpar sig inte riktigt för allt man skulle kunna tänka sig ha det till.
har föreslagit på msdn flera ggr att de borde inför path's som språkkonstruktioner.
typ:
InvocationPath path = nånting(MyClass.SomeMethod(int,string).Property.OtherProperty);
vilket vore rätt smutt för att kunna slippa allt strängande i reflection..