2017-04-13 4 views
0

Ich versuche, ein benutzerdefiniertes Attribut zu schreiben, das die Startzeit einer Methode protokolliert.Record Time Custom Attribut C#

Hier ist es mein Code:

public class Program 
    { 
     public static void Main(string[] args) 
     { 

      try 
      { 
       CompareBusinessUnits(); 
      } 
      catch (Exception ex) 
      { 
       throw; 
      } 
     } 

     [RecordTime] 
     private static void CompareBusinessUnits() 
     { 

      // to do something 
     } 


    } 


    public class RecordTimeAttribute : Attribute 
    { 
     public void PrintStartTime() 
     { 
      Console.WriteLine("Start Time " + DateTime.Now); 
     } 
    } 

Aber Konsolenfenster nicht angezeigt Startzeit. Ich möchte die Zeit drucken, zu der die Methode gestartet wird.

+1

Vielleicht dies: http://StackOverflow.com/a/226440/2877982 – bump

+1

Nur ein benutzerdefiniertes Attribut definieren führt tatsächlich keinen Code ausführen. Sie müssen Reflexionscode schreiben, der nach solchen Attributen sucht und die entsprechende Funktionalität aufruft. Attribute sind keine Magie. –

+0

Dies ist nicht, wofür Attribute entwickelt wurden – TheLethalCoder

Antwort

-1

Sie haben keinen Hinweis auf diese Klasse erstellt, daher kann die Anwendung die Methode "PrintStartTime()" nicht ausführen.