Я пытаюсь использовать List<T>
с моим собственным классом, и я могу использовать методы, такие как Contains()
, Find()
и т. Д., В списке.Я подумал, что мне просто нужно перегрузить оператор ==
, но, видимо, один из способов сделать это - использовать метод делегата с Find()
...
Примечание. Прямо сейчасперегрузил метод Equals()
, чтобы заставить работать метод Contains()
, но я все еще не мог заставить работать функцию Find()
.
Каков был бы лучший способ заставить оба работать?
Я использую последнюю версию платформы C # / .NET с mono для Linux.
edit: Вот мой код
using System;
namespace GuerreDesClans
{
public class Reponse : IEquatable<Reponse>
{
public Reponse ()
{
m_statement = string.Empty;
m_pointage = 0;
}
public Reponse (string statement, int pointage)
{
m_pointage = pointage;
m_statement = statement;
}
/*
* attributs privés
*/
private string m_statement;
private int m_pointage;
/*
* properties
*/
public string Statement {
get { return m_statement; }
set { m_statement = value; }
}
public int Pointage {
get { return m_pointage; }
set { m_pointage = value; }
}
/*
* Equatable
*/
public bool Equals (Reponse other)
{
if (this.m_statement == other.m_statement)
return true;
else
return false;
}
}
}
и как я хотел бы искать мои объекты Reponse, используя функцию find () ...
list.find("statement1"); // would return a Reponse object