Eventable<Int32> var = 32;
var.ValueChanged += () => Console.WriteLine(var.Value);
var.Value = 34;
var.Value = 42;
public class Intercom
{
#region Обработка событий по изменению содержимых.
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(string propertyName = "")
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
#endregion
#region Управление свойством.
public string Message { get; set; } = "Null";
public bool OnEvent { get; set; } = true;
public void Reset() { Message = "Null"; }
#endregion
#region Внутренее свойство события.
private int _Calling;
private string _Response;
private string _Request;
private string _Report;
public int Calling
{
get { return _Calling; }
set { _Calling = value; if (OnEvent) NotifyPropertyChanged($"Call.{Message}"); }
}
public string Response
{
get { return _Response; }
set { _Response = value; if (OnEvent) NotifyPropertyChanged($"Response.{Message}"); }
}
public string Request
{
get { return _Request; }
set { _Request = value; if (OnEvent) NotifyPropertyChanged($"Request.{Message}"); }
}
public string Report
{
get { return _Report; }
set { _Report = value; if (OnEvent) NotifyPropertyChanged($"Report.{Message}"); }
}
#endregion
}
// ServiceReference1 - см. на картинке выше, можно указать любое имя
var client = new ServiceReference1.MerchantWebServiceClient();
// и смотрите какие есть методы в client и что требуется для их использования
// могут быть и другие подводные камни и особенности,
// но свой код взаимодействия писать не придется
// для большинства случаев достаточно будет автоматически созданных классов
ни один из найденых мною примеров не рабоотает