ho scritto un metodo per ottenere Attributo valore dell'immobile:Come ottenere Attributo Valore in CodeAttribute
public string GetAttributeValueByNameAttributeAndProperty(CodeClass cc, string nameAttribute, string nameProperty)
{
var value = "";
foreach(CodeAttribute ca in cc.Attributes)
{
if(ca.Name.Contains(nameAttribute) && ca.Value.Contains(nameProperty))
{
value = ca.Value.Remove(0,ca.Value.IndexOf(nameProperty));
value = value.Replace(" ","");
if(value.Contains(","))
value = value.Remove(ca.Value.IndexOf(","));
}
}
return value;
}
Per esempio: ho Attributo [Map(Name = "MenuItem, Availability")]
chiamo GetAttributeValueByNameAttributeAndProperty (CodeClass, "Mappa" , "Nome") Dopo questo metodo ottenere CodeAttribute.Value e stringa di restituzione: Name = "MenuItem, Availability" Dopo aver rimosso "Name =" e caratteri aggiuntivi e diviso per ","
Ma il mio Senior Programmer mi ha detto che questo metodo non è flessibile e ho bisogno di trovare un modo più conveniente per ottenere i dati interni in CodeAttribute.Value.
Avete idee/esempi?
Ho modificato il titolo. Per favore vedi, "[Le domande dovrebbero includere" tag "nei loro titoli?] (Http://meta.stackexchange.com/questions/19190/)", dove il consenso è "no, non dovrebbero". –
Grazie. Lo prenderò in considerazione –
Stavo cercando un modo per leggere i valori degli attributi usando il modello di codice. Poi sono arrivato alla tua domanda e dal momento che non aveva una risposta, ne ho pubblicato uno. So che la domanda è piuttosto vecchia e probabilmente non hai più bisogno della risposta, ma i futuri lettori potrebbero trovare utile :) –