Я пытаюсь перечислить ряд строк в соответствии с текстом, введенным пользователем в txtDepartment.Text. Но он отображает все элементы, которые у меня есть не только типа BOOK. ДЕПАРТАМЕНТ - это перечисление и имеет значения типа BOOK, ГАЗЕТА и ЦИФРОВОЙ. Кто-нибудь знает, как я могу отображать только тип BOOK не всех элементов в списках ресурсов? Ниже приведен код, который у меня есть.Перечисления Foreach Loop C#
string searchdep = txtDepartment.Text;
foreach(Resource res in resourceslist)
{
if(searchdep==DEPARTMENT.BOOK)
{
lbResult.Items.Add(res);
}
}
Это мой класс Resouce
namespace OOP_V1._3
{
public enum DEPARTMENT
{
BOOK,
NEWSPAPER,
DIGITAL
}
public enum STATUS
{
AVALIABLE,
BORROWED,
RESERVED
}
[Serializable]
public abstract class Resource : IComparable
{
public string title;
public string refno;
public DEPARTMENT department;
public STATUS status;
public string searchdep { get; set; }
public string getTitle()
{
return title;
}
public void setTitle(string iTitle)
{
this.title = iTitle;
}
public string getRefno()
{
return refno;
}
public void setRefno(string iRefno)
{
this.refno = iRefno;
}
public DEPARTMENT getDepartment()
{
return department;
}
public void setDepartment(DEPARTMENT iDepartment)
{
this.department = iDepartment;
}
public STATUS getStatus()
{
return status;
}
public void setStatus(STATUS iStatus)
{
this.status = iStatus;
}
public override string ToString() //display the books in the form of a string
{
return String.Format("Ref No: {0}, Title: {1}, Department: {2}, Status: {3}", refno, title, department, status);
}
public Resource(string refno, string title, string status)
{
this.refno = refno;
this.title = title;
if (status == "Available")
{
this.status = STATUS.AVALIABLE;
}
else if (status == "Borrowed")
{
this.status = STATUS.BORROWED;
}
else if (status == "Reserved")
{
this.status = STATUS.RESERVED;
}
}
public int CompareTo(Object obj)
{
Resource other = (Resource)obj;
int c = string.Compare(this.getTitle(), other.getTitle()); //comparing the title inputted by the user with a title from the list
return c; //returning the answer
}
}
}
.searchdep не загружается, когда res. написано ... есть ли другой способ, как я могу это сделать? –
В своем ответе я должен угадать, не зная, что такое ваш код. Если вы включили класс Resource, это упростит ситуацию. У вас есть свойство с этим именем в вашем классе? 'public string searchdep {get; задавать; } ' Можете ли вы объяснить немного больше того, что вы пытаетесь сделать? – Guy
Нет. У меня нет этой собственности. Если я добавлю, это сработает? ... –