Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> INotifyPropertyChanged для статического класса 
V
    Опции темы
hexzo
  Дата 15.6.2011, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Как это делается, там же событие
event PropertyChangedEventHandler PropertyChanged
не статическое, а нужно статическое.  smile

Добавлено через 59 секунд
ой, перенесите в wpf, я промахнулся.
PM MAIL   Вверх
-Mikle-
Дата 15.6.2011, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 13
Всего: 59



Какова задача?


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
ДобренькийПапаша
Дата 15.6.2011, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: 2
Всего: 7



Может я, конечно, просто устал и у меня мозги не варят, но есть ощущение стойкое, что Вы не понимаете, что такое интерфейс. Это просто контракт, там не указываются модификаторы типа static, имплементируйте интерфейс как хотите.

Или я всё-таки устал и у меня кукушечка не соображает?


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
hexzo
Дата 15.6.2011, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Цитата(ДобренькийПапаша @  15.6.2011,  21:15 Найти цитируемый пост)
Может я, конечно, просто устал и у меня мозги не варят, но есть ощущение стойкое, что Вы не понимаете, что такое интерфейс. Это просто контракт, там не указываются модификаторы типа static, имплементируйте интерфейс как хотите.

Ну может и туплю, тогда надо разобраться в чём.

public static event PropertyChangedEventHandler PropertyChanged;
Если я пишу такую штуку, то компилятор говорит что интерфейс не реализуется, так как это событие статическое.

А не статическое событие я не могу вызвать из статического onPropertyChanged.

Цитата(-Mikle- @  15.6.2011,  16:36 Найти цитируемый пост)
Какова задача? 

Задача уже давно решена по другому, а белое пятно осталось. Или, в смысле, зачем мне вздумалось реализовывать этот интерфейс в статическом классе?
PM MAIL   Вверх
ДобренькийПапаша
Дата 16.6.2011, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: 2
Всего: 7



Реализация интерфейсов статическими классами невозможна.
Даже если бы предоставить такую возможность можно было бы разрабами .net, то это нарушало бы смысл работы с интерфейсами.

p.s. Таки да, сразу я не вкурил, что вы сделать хотели.

Это сообщение отредактировал(а) ДобренькийПапаша - 16.6.2011, 07:39


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
-Mikle-
Дата 16.6.2011, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 13
Всего: 59



Цитата(hexzo @  16.6.2011,  01:50 Найти цитируемый пост)
Или, в смысле, зачем мне вздумалось реализовывать этот интерфейс в статическом классе?

Ну да, в этом смысле. Мне за весь мой опыт в даже голову не пришло такой идеи. Я предпологаю, что ты где-то запутался и поэтому решил начать отвечать с выяснения задачи. Это чтоб привести тебя к нужному решению, а не к ответу про невозможность реализации интерфейсов статическими членами класса и про причины такого поведения.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
jonie
Дата 16.6.2011, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 2
Всего: 118



-Mikle-, есть мнение что создатель хочет Singleton на основе стат класса делать.... Так пусть и делает Singleton и в нём реализует указанный интерфейс..


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
-Mikle-
Дата 16.6.2011, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 13
Всего: 59



Тоже была мысль на счет синглтона, но решил, что лучше спросить smile Ландо, если для топикастера тема еще актуальна, то ответит.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
hexzo
Дата 16.6.2011, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Цитата(-Mikle- @  16.6.2011,  08:14 Найти цитируемый пост)
Ну да, в этом смысле. Мне за весь мой опыт в даже голову не пришло такой идеи. Я предпологаю, что ты где-то запутался и поэтому решил начать отвечать с выяснения задачи. Это чтоб привести тебя к нужному решению, а не к ответу про невозможность реализации интерфейсов статическими членами класса и про причины такого поведения. 

Ну я даж книжку по шарпу не дочитал, потому сильно тапками не кидайтесь.

Как у меня получилось:
Код

КЛАСС_С_РЕСУРСАМИ
{
 ресурс_для_гуя;
 свойство_предоставляющее_ресурс_для_гуя.
}

ГЛАВНЫЙ_КЛАСС_ПРОГРАММЫ;
{
 экземпляр_класса_с_ресурсами;
 статическое_свойство_предоставляющее_гую_экземпляр_класса_с_ресурсами;
}


А хотелось мне сделать класс статическим, всё равно он нужен только в единственном экземпляре, и избавиться от свойства посредника в главном классе.

Код

СТАТИЧЕСКИЙ_КЛАСС_С_РЕСУРСАМИ
{
 ресурс_для_гуя;
 свойство_предоставляющее_ресурс_для_гуя.
}

ГЛАВНЫЙ_КЛАСС_ПРОГРАММЫ
{

}


Это сообщение отредактировал(а) hexzo - 16.6.2011, 14:26
PM MAIL   Вверх
jonie
Дата 16.6.2011, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 2
Всего: 118



Цитата(hexzo @  16.6.2011,  14:25 Найти цитируемый пост)

А хотелось мне сделать класс статическим, всё равно он нужен только в единственном экземпляре, и избавиться от свойства посредника в главном классе.

используйте (анти?)паттерн Singleton [http://www.yoda.arachsys.com/csharp/singleton.html]


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
-Mikle-
Дата 16.6.2011, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 13
Всего: 59



Если перенести (то что написано по ссылке от джони) на твой пример, то получится это:

Код

КЛАСС_С_РЕСУРСАМИ (НЕ СТАТИЧЕСКИЙ)
{
 статическое_свойство_предоставляющее_гую_экземпляр_класса_с_ресурсами; -- экземпляр создается один раз, при первом обращении к свойству

 ресурс_для_гуя;
 свойство_предоставляющее_ресурс_для_гуя.
}

ГЛАВНЫЙ_КЛАСС_ПРОГРАММЫ;
{
}

Это и есть одна из возможной реализаций синглтона.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
hexzo
Дата 17.6.2011, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Цитата(-Mikle- @  16.6.2011,  15:18 Найти цитируемый пост)
Если перенести (то что написано по ссылке от джони) на твой пример, то получится это:

Во, так будет ловчее чем у меня.  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0695 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.