2016-07-28 15 views
0

Ich habe Projekt, das Objekt aus dll.Get Wert der Eigenschaft in dll

namespace XXX.XXX.XXX.Nsi 
{ 
    [Serializable] 
    [DataContract] 
    [MayBeAmplified] 
    public class GngInfo 
    { 
     public GngInfo(); 
     [MaxLenValidator(1000)] 
     public string Name { get; set; } 
    } 
} 

Ich brauche zu finden, wo Name bestimmten Wert zum Beispiel „Cargo“ zu bekommen. Welche Möglichkeiten gibt es, dies zu tun?

  1. Ändern Sie große DLL und ersetzen Sie es. Aber ich habe keinen Quellcode von dll.
  2. Schreiben Sie alle Orte, wo verwendet GngInfo mit einem anderen Objekt nicht in DLL implementiert.

Welche anderen Möglichkeiten?

+0

Sie können Aspekte wie Castle.DynamicProxy verwenden, um die Eigenschaft abzufangen.Sehen Sie sich http://StackOverflow.com/questions/2959812/intercept-properties-with-castle-windsor-iinterceptor zum Beispiel an – VitaliyK

Antwort

0

Sie können eine classMyGngInfo implementieren, die von GngInfo erbt und Ihre benutzerdefinierte Logik implementieren. Wenn Sie fertig sind, ersetzen Sie GngInfo Verwendungen mit MyGngInfo Verwendungen.