Мы два класса:Как я могу получить пользователей?
Первый класс:
public class Team
{
public Team()
{
UsersMyTeam = new List<User>();
ID = "";
}
public string ID { set; get; }
public string NameTeam { set; get; }
public List<User> UsersMyTeam { set; get; }
public override string ToString()
{
return "Team";
}
}
Второй класс:
public class User
{
public string ID { get; set; }
public string Name { get; set; }
public string LName { get; set; }
public string IsActive { get; set; }
public string Date { get; set; }
public string TeamID { get; set; }
public override string ToString()
{
return "User";
}
}
Я использую класса по коду:
protected void btnTest_Click(object sender, EventArgs e)
{
DALTableIO DTIO = new DALTableIO();
List<Team> listUser = new List<Team>();
Team myTeam = new Team();
myTeam.ID = "426f63a7-7f42-485f-8407-67c680f9e358";
foreach (object item in DTIO.GetAll(myTeam))
{
listUser.Add((Team)item);
}
}
У меня есть класс с именем DALTableIO
, которые получают значения из базы данных и поместить их в объект класса:
public class DALTableIO:DALBase
{
public List<object> GetAll(object MyClass)
{
SqlDataReader re = ExecuteReader(CommandType.StoredProcedure, string.Concat("GetAll", MyClass.ToString()), new SqlParameter[]{
});
List<object> list = new List<object>();
try
{
while (re.Read())
{
Type t=MyClass.GetType();
// creat new Class
object item = Activator.CreateInstance(t);
// start Fill Class
foreach (PropertyInfo property in MyClass.GetType().GetProperties())
{
//when we have property of list<object>
if (property.PropertyType.Name.ToLower() == "list`1")
{
//how can i create list<users>
//how can i create user
//how can i do list<users> =getAll(user);
//how can i do property=list<users>;
continue;
}
if (property.PropertyType.Name.Substring(0, 3) == "Int")
item.GetType().GetProperty(property.Name).SetValue(item, int.Parse(re[property.Name].ToString()));
else
switch (property.PropertyType.Name)
{
case "String":
item.GetType().GetProperty(property.Name).SetValue(item, re[property.Name].ToString());
break;
case "Decimal":
item.GetType().GetProperty(property.Name).SetValue(item, decimal.Parse(re[property.Name].ToString()));
break;
}
}
list.Add(item);
}
if (!re.IsClosed)
re.Close();
re.Dispose();
SqlConnection.ClearAllPools();
return list;
}
catch (Exception err)
{
throw new Exception(err.Message);
}
}
Скажите, как я могу заполнить пользователь list<>
. Я хочу отправить одного пользователя класса в getAll()
для всех пользователей. Благодарю.
Почему аргумент GetAll (объект MyClass) является объектом? – spark
Потому что я палочка посылаю другой класс. – shahroz
Вы хотите инициализировать «Список» и добавить элементы? –