ایجاد لیستی از کلاسی جنریک
نویسنده: وحید نصیری
تاریخ: ۱۳۹۰/۰۵/۲۹ ۲۱:۲۰:۰۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
public class Column<T>
{
public string Name { set; get; }
public T Data { set; get; }
}
IList<Column<T>> myList = new List<Column<T>>();
using System.Collections;
namespace Tests
{
public interface IColumn
{
string Name { set; get; }
object Data { set; get; }
}
public class Column<T> : IColumn
{
public string Name { set; get; }
public T Data { set; get; }
object IColumn.Data
{
get { return this.Data; }
set { this.Data = (T)value; }
}
}
}
var myList = new List<IColumn>();
var myList = new List<IColumn>
{
new Column<int> { Data = 1, Name = "Col1"},
new Column<double> { Data = 1.2, Name = "Col2"}
};
static T GetColumnData<T>(IList<IColumn> list, string name)
{
var column = (Column<T>)Convert.ChangeType(list.Single(s => s.Name.Equals(name)), typeof(Column<T>), null);
return column.Data;
}
int data = GetColumnData<int>(myList, "Col1");