Таким образом, общий паттерн реализации операторов будет следующим (паттерн приводится на основе кода класса DropDownMember, приведенного в начале статьи):
public static bool operator ==(DropDownMember m1, DropDownMember m2)
{
if (object.ReferenceEquals(m1, m2))
return true;
if (object.ReferenceEquals(m1, null))
return false;
return m1.Equals(m2);
}
Относительно реализации операторов — хорошая статья. Спасибо.
Относительно MPF и Navigation Bar-a, следовало бы на Microsoft Connect bug запостить. Глядишь в следующей версии VS SDK уже и поправили б Всем бы польза была.
D>Относительно MPF и Navigation Bar-a, следовало бы на Microsoft Connect bug запостить. Глядишь в следующей версии VS SDK уже и поправили б Всем бы польза была.
D>А так — чего хулить-то без толку?
А есть уверенность, что этого постинга станет лучше? Один раз баг запостили, так эти деятели сделали только хуже...
ЧВV>Авторы: ЧВV> Чистяков Влад (VladD2)
ЧВV>Аннотация: ЧВV>Данная статья посвящена вопросу грамотной реализации операторов сравнения. При кажущейся простоте, эта задача несет в себе ряд скрытых трудностей. Реализация операторов сравнения нередко приводит к появлению неприятных ошибок. В основном эта информация касается C#-программистов, но будет полезна тем, кто пишет .NET-код и на других языках.
// В этом месте, если m1 равна null, то m1 уже не может быть
// равна null. Стало быть, объекты не равны, и можно вернуть false.if (object.ReferenceEquals(m1, null))
return false;
Опечатка. Имхо, менее претенциозное название статье не повредило бы. Или проверить пицот раз.
Здравствуйте, dimaka, Вы писали:
D>Относительно MPF и Navigation Bar-a, следовало бы на Microsoft Connect bug запостить. Глядишь в следующей версии VS SDK уже и поправили б Всем бы польза была.
D>А так — чего хулить-то без толку?
Дык. Толк как не странно есть. Данный проект выложели на www.codeplex.com/mpfproj
Так что теперь (наверно) можно даже самим баги будет править.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, AndrewVK, Вы писали:
AVK>Это не весь MPF, а крохотный его кусочек, ответсвенный за создание собственных типов проектов.
Тем не менее, этого кусочка достаточно чтобы собрать интеграцию студии с Немерлем.
Если бы ещё regpkg.exe куда выложили, так и vssdk вообще не нужно было бы ставить.