Я пытаюсь использовать List
с моим собственным классом и могу использовать методы например Contains ()
, Find ()
и т. д., в списке. Я думал, что мне просто придется перегрузить оператор ==
, но, видимо, один из способов сделать это - использовать метод делегата с Find ()
...
Примечание: прямо сейчас я перегрузил метод Equals ()
, чтобы заставить работать метод Contains ()
, но мне все равно не удалось получить Find ()
, чтобы работать.
Как лучше всего заставить работать обе функции?
Я использую последнюю версию фреймворка C # / .NET с моно в Linux.
edit: Вот мой code
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