साथ कक्षा में सभी तरीकों लपेट होगा मैं एक विशेषता HandleError
कि मैं इस तरह एक वर्ग पर डाल दिया जाएगा बनाने के लिए करना चाहते हैं:विशेषता है कि कोशिश {} पकड़
[HandleError]
public class Foo
{
public void Do(){}
...
public void Don(){}
}
और यह कोशिश में सभी तरीकों लपेटो जाएगा पकड़ो, तो मेरा मानना है कि यह ऐसा कुछ होना चाहिए:
public class HandleErrorAttribute : Attribute
{
public void Execute()
{
try
{
method.Execute();
}
catch(Exception ex)
{
//log
}
}
}
क्या यह संभव है?
, नहीं। हालांकि एओपी पुस्तकालयों में से एक के साथ यह संभव हो सकता है। http://www.sharpcrafters.com/aop.net – asawyer
यह गुण नहीं है। @asawyer नोट्स के रूप में, पोस्टशर्प इसे अनुमति दे सकता है; और भविष्य के संस्करणों में, कंपाइलर रीराइट (उर्फ रोज़लिन) के विस्तार के रूप में इस तरह की चीज संभव हो सकती है; लेकिन फिलहाल: –
@MarcGravell, क्या आपको लगता है कि यह Roslyn के कारण बनाया जाएगा या आपको लगता है कि हमें इसके लिए एक ओपन सोर्स प्रोजेक्ट बनाना होगा? –