static void Main(string[] args)
    {
        BindingList <Client> listOne = new BindingList <Client>()
        {
            new Client {
                Name = "ClientName1"
            },
            new Client {
                Name = "ClientName2"
            },
            new Client {
                Name = "ClientName3"
            },
        };
        BindingList <Debt> listTwo = new BindingList <Debt>()
        {
            new Debt {
                AccountType = "AccountType1", DebtValue = 29
            },
            new Debt {
                AccountType = "AccountType2", DebtValue = 31
            },
            new Debt {
                AccountType = "AccountType3", DebtValue = 37
            },
        };
        BindingList <Accounts> listThree = new BindingList <Accounts>()
        {
            new Accounts {
                Owner = "Owner1", AccountNumber = 17, IsChekingAccount = false
            },
            new Accounts {
                Owner = "Owner2", AccountNumber = 19, IsChekingAccount = true
            },
            new Accounts {
                Owner = "Owner3", AccountNumber = 23, IsChekingAccount = true
            },
        };

        LogList(listThree);
        listThree.SetValueByCoordinates(2, (int)AccountsProperty.IsChekingAccount, false);
        listThree.SetValueByCoordinates(1, (int)AccountsProperty.Owner, "My self");
        LogList(listThree);
        string result1 = (string)listOne.GetValueByCoordinates(0, (int)ClientProperty.Name);
        int    result2 = (int)listTwo.GetValueByCoordinates(1, (int)DebtProperty.DebtValue);

        LogList(listOne);
        LogList(listTwo);
        Console.WriteLine("result1: " + result1);
        Console.WriteLine("result2: " + result2);
    }