Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

tiapko avatar tiapko 31 Точки

Сравняване на обекти IComparable - правилна имплементация

Здравейте,

Може ли някой да ми каже, дали това е правилният начин(и ако не е, то кой е правилният/най-добрият) за установяване дали типa подаден обект в CompareTo(object  obj) метода е този, който е в base класа. Аз го правя така (виж. кода ред 4), но не знам дали е правилният начин.

https://pastebin.com/U6gHJ6Ff

Тагове:
0
C# OOP Advanced 31/03/2017 14:31:27
msmilkoff avatar msmilkoff 338 Точки
Best Answer

Въобще не е правилно да сравняваш тип Person с някакъв си там generic обект, който преди това го проверяваш дали е Pеrson.
Един Person трябва да може да се сравнява само с други Person-и, т.е. най-правилното би било това:
 

public class Person : IComparable<Person>
{
   // .....

	public int CompareTo(Person other)
	{
		if(this.Name == other.Name)
		{
			return 0;
		}
        // и т.н.

	}
}

 

0
05/04/2017 12:40:42
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.