2017-03-01 58 views
5

için dize olarak alın. Parametrelere izin veren bazı Eylem Nitelikleri var.Eylem adı Öznitelik parametresi

[DeleteActionCache(Action="GetTerms")] 
public ActionResult AddTerm(string term){ } 

public ActionResult GetTerms() {} 

Şimdi benim Özniteliği'ne sihirli dize "GetTerms" kurtulmak istiyorum: Göründüğü gibi nasıl. Bu yüzden böyle bir şey tercih ediyorum: Benim o sınıf benimle Tamam olur içeride (değil çalışma Pseudocode)

[DeleteActionCache(Action=this.GetTerms().GetType().Name)] 

benim nitelik sınıf içinde ek bir özelliğe sahip olan ve "Method2String" yapıyor -Conversions Buna gerekiyorsa istediğimi elde et.

Bilgi:

[DeleteActionCache(Action=nameof(GetTerms))] 

Kullanıma göre: Ben bir yol akım yöntem adı almak ( MethodBase.GetCurrentMethod)

cevap

7

nameof burada yardımcı olabilir seyir değil değilim Mülkün, bu niteliği üye tarafından okunan yerde ele almaktan daha iyi olabilirsiniz, ancak bu durumda eylem arasında sabit bir ilişki olmadığı için zor görünüyor. ve mülk.