Pass extra parameters to an event handler?

后端 未结 8 935
执笔经年
执笔经年 2020-11-22 15:31

Let\'s say I want to pass some extra data when assigning an event handler. Consider the following code:

private void s         


        
8条回答
  •  攒了一身酷
    2020-11-22 15:56

    You could create a custom object having additional properties based on Object:

    class CustomObject : Object
    {
        public string SomeData;
    }
    
    private void setup(string someData)
    {
        CustomObject customObject = new CustomObject { SomeData = someData };
        CustomObject.assignHandler(evHandler);
    }
    
    public void evHandler(Object sender)
    {
        string someData = ((CustomObject)sender).SomeData;
    }
    

    If the data should not be changed anymore after initialization, you could also add a custom constructor, for example.

提交回复
热议问题