Click here to Skip to main content
15,888,984 members
Home / Discussions / C#
   

C#

 
GeneralRe: How to use WeakEventManager with reflection Pin
Kenneth Haugland24-Jan-16 3:47
mvaKenneth Haugland24-Jan-16 3:47 
AnswerRe: How to use WeakEventManager with reflection Pin
Sascha Lefèvre24-Jan-16 2:37
professionalSascha Lefèvre24-Jan-16 2:37 
GeneralRe: How to use WeakEventManager with reflection Pin
Kenneth Haugland24-Jan-16 3:11
mvaKenneth Haugland24-Jan-16 3:11 
GeneralRe: How to use WeakEventManager with reflection Pin
Sascha Lefèvre24-Jan-16 4:33
professionalSascha Lefèvre24-Jan-16 4:33 
GeneralRe: How to use WeakEventManager with reflection Pin
Kenneth Haugland24-Jan-16 4:45
mvaKenneth Haugland24-Jan-16 4:45 
GeneralRe: How to use WeakEventManager with reflection Pin
Sascha Lefèvre24-Jan-16 6:14
professionalSascha Lefèvre24-Jan-16 6:14 
GeneralRe: How to use WeakEventManager with reflection Pin
Kenneth Haugland24-Jan-16 17:34
mvaKenneth Haugland24-Jan-16 17:34 
GeneralRe: How to use WeakEventManager with reflection Pin
Kenneth Haugland24-Jan-16 22:45
mvaKenneth Haugland24-Jan-16 22:45 
I was able to make it work now:
C#
internal class WeakPropertyDescriptor
{
    public PropertyMediator _MethodOwner;
    public WeakReference _sender;
    public string _PropertyName;
    public string _MessageKey;
    public EventHandler<EventArgs> handler;
    private Type constructedWEMType;

    public WeakPropertyDescriptor(PropertyMediator MethodOwner, Object sender, string PropertyName, string MessageKey)
    {
        _MethodOwner = MethodOwner;
        _sender = new WeakReference(sender);
        _PropertyName = PropertyName;
        _MessageKey = MessageKey;

        handler = new EventHandler<EventArgs>(WeakPropertyDescriptor_PropertyChanged);

        Type unboundWEMType = typeof(WeakEventManager<,>);
        Type[] typeArgs = { _sender.Target.GetType(), typeof(EventArgs) };
        constructedWEMType = unboundWEMType.MakeGenericType(typeArgs);

        MethodInfo addHandlerMethod = constructedWEMType.GetMethod("AddHandler");
        addHandlerMethod.Invoke(null, new object[] {_sender.Target , "PropertyChanged" , handler});

    }

    private void WeakPropertyDescriptor_PropertyChanged(object sender, EventArgs e)
    {
        PropertyChangedEventArgs arg = (PropertyChangedEventArgs)e;
        if (arg.PropertyName == _PropertyName)
            _MethodOwner.NotifyColleaguesOfValueChanged(_sender.Target, e, _MessageKey, _PropertyName);
    }

    public void RemoveHandler()
    {
        MethodInfo removeHandlerMethod = constructedWEMType.GetMethod("RemoveHandler");
        removeHandlerMethod.Invoke(null, new object[] { _sender.Target, "PropertyChanged", handler });
    }
}


modified 25-Jan-16 4:53am.

AnswerRe: How to use WeakEventManager with reflection Pin
Pete O'Hanlon24-Jan-16 7:03
mvePete O'Hanlon24-Jan-16 7:03 
GeneralRe: How to use WeakEventManager with reflection Pin
Kenneth Haugland24-Jan-16 17:38
mvaKenneth Haugland24-Jan-16 17:38 
GeneralRe: How to use WeakEventManager with reflection Pin
Pete O'Hanlon24-Jan-16 21:25
mvePete O'Hanlon24-Jan-16 21:25 
AnswerRe: How to use WeakEventManager with reflection Pin
Kenneth Haugland25-Jan-16 7:42
mvaKenneth Haugland25-Jan-16 7:42 
GeneralRe: How to use WeakEventManager with reflection Pin
Sascha Lefèvre25-Jan-16 10:28
professionalSascha Lefèvre25-Jan-16 10:28 
QuestionHow to generate Dynamic buttons in C# from Database Values? Pin
Member 1224271723-Jan-16 19:54
Member 1224271723-Jan-16 19:54 
AnswerRe: How to generate Dynamic buttons in C# from Database Values? Pin
Mycroft Holmes23-Jan-16 20:13
professionalMycroft Holmes23-Jan-16 20:13 
GeneralRe: How to generate Dynamic buttons in C# from Database Values? Pin
Member 1224271723-Jan-16 20:25
Member 1224271723-Jan-16 20:25 
GeneralRe: How to generate Dynamic buttons in C# from Database Values? Pin
Mycroft Holmes23-Jan-16 20:30
professionalMycroft Holmes23-Jan-16 20:30 
Questionhow to implement this code for multiple clients using c sharp Pin
Member 1061979722-Jan-16 22:32
Member 1061979722-Jan-16 22:32 
AnswerRe: how to implement this code for multiple clients using c sharp Pin
OriginalGriff22-Jan-16 23:01
mveOriginalGriff22-Jan-16 23:01 
QuestionRe: how to implement this code for multiple clients using c sharp Pin
Paul Conrad23-Jan-16 6:00
professionalPaul Conrad23-Jan-16 6:00 
GeneralRe: how to implement this code for multiple clients using c sharp Pin
PIEBALDconsult23-Jan-16 6:13
mvePIEBALDconsult23-Jan-16 6:13 
GeneralRe: how to implement this code for multiple clients using c sharp Pin
PIEBALDconsult23-Jan-16 6:16
mvePIEBALDconsult23-Jan-16 6:16 
GeneralRe: how to implement this code for multiple clients using c sharp Pin
Richard Andrew x6423-Jan-16 9:21
professionalRichard Andrew x6423-Jan-16 9:21 
GeneralRe: how to implement this code for multiple clients using c sharp Pin
PIEBALDconsult23-Jan-16 9:24
mvePIEBALDconsult23-Jan-16 9:24 
AnswerSimple answer: add an header before data Pin
Philippe Mori23-Jan-16 8:21
Philippe Mori23-Jan-16 8:21 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.