Обертки над статик классами
От: Аноним  
Дата: 23.06.09 07:27
Оценка:
добрый день

Есть 2 статик класса с одинаковыми интерфейсам и именами (отличаются только нэймспэсы).
Есть желание выделить общий интерфейс и написать 2 не статик обертки, реализующих это интерфейс.
Изменять статик классы нельзя.

Проблема: хотелось бы уменьшить кол-во кода (классы ImplA1 и ImplA2 практически идентичны)

    namespace N1
    {
        static class A1
        {
            public static void Operation1() { }
        }
    }
    
    namespace N2
    {
        static class A1
        {
            public static void Operation1() { }
        }
    }

    public interface A
    {
        void Operation1();
    }
    
// file 1
    using StaticA = N1.A1
    internal class ImplA1 : A
    {
        public void Operation1()
        {
            StaticA.Operation1();
        }
    }

// file 2
    using StaticA = N2.A1
    internal class ImplA2 : A
    {
        public void Operation1()
        {
            StaticA.Operation1();
        }
    }


использую C# 3.0
Re: Обертки над статик классами
От: stump http://stump-workshop.blogspot.com/
Дата: 23.06.09 08:58
Оценка:
Здравствуйте, Аноним, Вы писали:

А>добрый день


А>Есть 2 статик класса с одинаковыми интерфейсам и именами (отличаются только нэймспэсы).

А>Есть желание выделить общий интерфейс и написать 2 не статик обертки, реализующих это интерфейс.
А>Изменять статик классы нельзя.

Я пока не улавливаю смысла во всех ваших действиях.
Нужно работать через единый интерфейс?
Можете сделать одну обертку и параметризировать ее в конструкторе.
Однако не факт, что такая обертка окажется лучше чем две простые.
Понедельник начинается в субботу
Re[2]: Обертки над статик классами
От: Smarty Россия  
Дата: 23.06.09 11:32
Оценка:
Здравствуйте, stump, Вы писали:

S>Я пока не улавливаю смысла во всех ваших действиях.

+1, и почему просто юзингом не указывать верный неймспейс(у вас же все-равно разнесение потребителей по файлам есть?) в начале очередного файла, а потом ни о чем не думая A1.Operation1()?
Re[2]: Обертки над статик классами
От: Аноним  
Дата: 23.06.09 15:15
Оценка:
Здравствуйте, stump, Вы писали:

S>Здравствуйте, Аноним, Вы писали:


А>>добрый день


А>>Есть 2 статик класса с одинаковыми интерфейсам и именами (отличаются только нэймспэсы).

А>>Есть желание выделить общий интерфейс и написать 2 не статик обертки, реализующих это интерфейс.
А>>Изменять статик классы нельзя.


S>Нужно работать через единый интерфейс?

Да, и долджна быть возможность легко переключаться на одну из реализаций.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.