Czy istnieje sposób uzyskania dostępu do nazwy klasy i właściwości, do której przypisano właściwość wewnątrz atrybutu?Uzyskiwanie dostępu do nazwy klasy i właściwości wewnątrz atrybutu
Na przykład
public class User {
public string Email { get; set; }
public string FirstName { get; set; }
[MyAttrubute]
public string LastName { get; set; }
}
A potem w MyAttribute klasy
public class MyAttributeAttribute {
public MyAttributeAttribute() : base() {
string className = /*GET CLASS NAME - should return "User" */
string propertyName = /*GET PROPERTY NAME - should return LastName*/
}
}
wiem, może przejść w informacjach w konstruktorze, ale nadzieją, istnieje prosty sposób niektóre, jak zaoszczędzić na ponowne wpisywanie informacji w kółko przez odbicie lub ...
Nie jestem pewien, czy podążam za twoim rozumowaniem (chociaż ostateczna odpowiedź może być nadal taka sama). Każdy atrybut jest własną instancją klasy MyAttribute, więc każdy może przyjmować inną wartość w swoim konstruktorze i przechowywać ją lokalnie. Fakt, że może ozdobić wiele właściwości, nie może być powodem, dla którego nie mogę uchwycić dekorowanej klasy/własności. Pomyślałem, że może istnieć sposób w czasie wykonywania, aby określić, która klasa/proprety to wystąpienie atrybutu zostało dołączone. – Peter
@Peter - Przepraszam, wyjaśniłem swoją odpowiedź. – CodeNaked