Как узнать указатель на экземпляр, в котором были запущены события? Я использовал «объект отправителя» в качестве первого параметра события, и я его бросил. но нет таких свойств, как «Тег», которые помогают мне различать разные компоненты.Как узнать указатель на экземпляр, в котором были запущены события
вот мой пример кода:
SMSCclientSMPP[] smsCClientSMPP = new SMSCclientSMPP[10];
for (int i = 0; i < 10; i++)
{
smsCClientSMPP[i] = new SMSCclientSMPP();
smsCClientSMPP[i].OnTcpDisconnected += smsCclientSMPP_OnTcpDisconnected;
}
private void smsCclientSMPP_OnTcpDisconnected(object sender, tcpDisconnectedEventArgs e)
{
SMSCclientSMPP obj = (SMSCclientSMPP)sender;
// obj dosent have Tag field.
}
как я уже говорил, obj
есть доцент свойства, что делает его отличным от других. , так как я могу узнать, что это событие увольняется с помощью элементов моего массива smsCClientSMPP
. Спасибо за любую помощь ...
Доза GetHashCode() имеет разное значение для разных экземпляров, конечно? доза имеет то же значение каждый раз, когда его огонь событий? – Elahe
Зачем вам нужно знать, какой объект вызвал событие? –
@Elahe Это зависит от реализации 'SMSCclientSMPP'. Вы можете прочитать документацию по ссылке, которую я предоставил, и проверить, переопределен ли этот метод в классе с помощью декомпилятора. –