У меня есть базовый класс Rules.cs
.Есть 2 производных класса RowRules.cs
и ColumnRules.cs
.У меня есть другой класс Test.cs
.Этот класс имеет Dictionary <int, Rules>
, который продолжает добавлять значения.Когда я перебираю словарь, мне нужно знать, является ли значение RowRule или ColumnRule.Чтобы лучше понять, у меня есть код ниже.
Rules.cs
class Rules
{
private int m_timepointId = 0;
private int m_studyId = 0;
public int TimepointId
{
get { return m_timepointId; }
set { m_timepointId = value;}
}
public int StudyId
{
get { return m_studyId; }
set {m_studyId = value; }
}
}
RowRules.cs
class RowRules : Rules
{
private int m_row;
public int Row
{
get { return m_row; }
set { m_row = value; }
}
}
ColumnRules.cs
class ColumnRules: Rules
{
private int m_column;
public int Column
{
get { return m_column; }
set { m_column = value; }
}
}
В main class
у меня есть
private Dictionary<int, Rules> m_testDictionary = new Dictionary<int, Rules>();
ColumnRules columnrules = new ColumnRules();
RowRules rowRules = new RowRules();
rowRules.Row = 1;
rowRules.StudyId = 1;
m_testDictionary.Add(1, rowRules);
columnRules.Column = 2;
columnRules.TimepointId = 2;
m_testDictionary.Add(2, columnRules);
foreach(.... in m_testDictionary)
{
//Need code here.
//if(... == RowRules)
{
}
}
Теперь мне нужно знать, какое значение пойдет в цикле foreach
.Кроме того, мне нужно знать, является ли эта строка словаря RowRule
или ColumnRule
.Надеюсь, у меня с вопросом все в порядке.Любая помощь будет по достоинству оценена.