Извините, это смесь 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
Любая идея, как это исправить и почему это происходитпервое место?2 делегата / события / методы выглядят достаточно похожими, поэтому я не знаю, почему один в порядке, а другой выдает предупреждение.