Извините, это смесь C # и VB.Net
У меня есть класс C # с двумя делегатами:
public delegate string GetSettingDelegate(string key);
public event GetSettingDelegate GetSettingEvent;
public delegate void SetSettingDelegate(string key, string value);
public event SetSettingDelegate SetSettingEvent;
В классе VB я добавляю обработчики к событию:
AddHandler _gisCtrl.SetSettingEvent, AddressOf SetSetting
AddHandler _gisCtrl.GetSettingEvent, AddressOf GetSetting
Когда Я пытаюсь удалить обработчики:
RemoveHandler _gisCtrl.SetSettingEvent, AddressOf SetSetting
RemoveHandler _gisCtrl.GetSettingEvent, AddressOf GetSetting
SetSetting в порядке, но GetSetting выдает предупреждение:
Выражение AddressOf не имеет никакого эффекта в этом контексте, потому что аргументы метода AddressOf требуют расслабленного разговора с типом Delagate события.
Вот методы
Private Sub SetSetting(ByVal key As String, ByVal value As String)
KernMobileBusinessLayer.[Global].Settings.SetValue(key, value)
End Sub
Private Function GetSetting(ByVal key As String)
Return KernMobileBusinessLayer.[Global].Settings.GetString(key)
End Function
Есть идеи, как это исправить и почему это вообще выбрасывается? Два делегата / события / метода выглядят достаточно похожими, поэтому я не знаю, почему один в порядке, а другой выдает предупреждение.