Чтобы добавить функцию к stringReceivedRegister
, вам сначала нужно объявить метод:
private static bool MyFunction(object x) {
// ...
}
И затем вы можете передать MyFunction
Add
:
// Note the absence of () after "MyFunction". I am not actually calling it
stringReceivedRegister.Add("Test", MyFunction);
Параметр x
будет ссылаться на changed_string
, когда вы будете делать это:
StringTypes.Instance.stringReceivedRegister[received_name].Invoke(changed_string);
Очень раздражает необходимость объявлять метод очень рано, поэтому в C # 3 предусмотрены лямбда-выражения, позволяющие вамчтобы сделать это:
stringReceivedRegister.Add("Test", x => {
// ...
});
Опять же, x
будет ссылаться на changed_string
, когда вы вызываете делегата с changed_string
.