none
Написание своей функции со вложенными параметрами и командами RRS feed

  • Вопрос

  • Всем доброе время суток!
    Подскажите плиз, как можно написать свои функции со вложенными параметрами. Опишу на примере что я хотел бы:

    ПоискНомераТелефона("123456").ФИО() - с помощью этой команды я получу ФИО, на кого зареган номер
    ПоискНомераТелефона("123456").ПровестиПлатёж(150) - зачисление платежа на сумму 150 руб.
    ПоискНомераТелефона("123456") - получу объект с коллекцией переменных содержащих инфу о номере(ФИО, ТП, Баланс и т.п.).

    Думаю это реализуется через класс, или интерфейс, но вот никак не могу это сделать:) На основе приведённого примера хотел бы увидеть исходник.
    P.S. Ну конечно я не собираюсь писать прогу для терминалов, просто это первая мысль к-ая пришла в голову:)

    Язык VB.Net, VS2008/VS2010.

    • Перемещено Siddharth Chavan 2 октября 2010 г. 1:04 MSDN Forums Consolidation (От:Visual Studio - отзывы и пожелания)
    3 апреля 2010 г. 6:40

Ответы

  • Такое поведение достигается определением соответствующих методов и свойств у возвращаемых объектов.

    К примеру вы находите телефон по номеру и вызываете его метод (определенный в типе телефон) оплатить.

     

    using System;
    
    namespace objectsAndMethods
    {
        class Program
        {
            static void Main(string[] args)
            {
                TelephonRepository telRepos = new TelephonRepository();
                telRepos.GetByNumber(1234567).Payment(150);
            }
        }
    
        public class Telphon
        {
            public void Payment(int amount)
            {
                Console.WriteLine("Был проведен платеж на сумму {0}", amount);
            }        
        }
        public class TelephonRepository
        {
            public Telphon GetByNumber(int number)
            {
                return new Telphon();
            }
        }
    }
    

    • Предложено в качестве ответа Megano 6 апреля 2010 г. 10:41
    • Помечено в качестве ответа _CRBA_ 8 апреля 2010 г. 10:46
    3 апреля 2010 г. 8:36