我有一个类,它具有如下的可空属性;
public class Sample
{
public int? ID { get; set; }
public string SampleName { get; set; }
public bool? Active { get; set; }
public DateTime? Date { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当我尝试做类似下面的事情;
foreach (DataRow tableItem in table.Rows)
{
Sample sample = new Sample()
{
ID = tableItem["ID"] != DBNull.Value ? Convert.ToInt32(tableItem["ID"].ToString()) : null,
SampleName = tableItem["SampleName"] != DBNull.Value ? tableItem["SampleName"].ToString() : null,
Active = tableItem["Active"] != DBNull.Value ? Convert.ToBoolean(tableItem["Active"].ToString()) : null,
Date = tableItem["Date"] != DBNull.Value ? …Run Code Online (Sandbox Code Playgroud) 我有一个类,它有一些静态方法.我还有另一个类继承我的第一个类,如下所示;
public class Business
{
public static DataTable Get()
{
}
}
public class Model : Business
{
public int ID { get; set; }
public string CompanyName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我用它如下;
Model.Get();
Run Code Online (Sandbox Code Playgroud)
在Do方法内部我尝试捕获Model类的类型.我可以在Do方法中捕获下面的Business类类型;
public static DataTable Get()
{
Type t = System.Reflection.MethodBase.GetCurrentMethod().DeclaringType;
}
Run Code Online (Sandbox Code Playgroud)
但我无法捕捉到Model类的类型.我怎样才能做到这一点?
注意: Business类中的Get方法选择从哪个类调用它的列.这就是我需要Model类名称的原因.Model类的原因名称将是表的名称,它将从表Model中选择列.
注2:通常我喜欢使用它;
Business.Get<Model>();
Run Code Online (Sandbox Code Playgroud)
我可以从Model表中获取所有数据.但我尝试使用它;
Model.Get();
Run Code Online (Sandbox Code Playgroud) 我想创建一个可以采用无限类型的Generic类.我的意思是;
如果我想创建一个需要2种不同类型的泛型类,我必须像下面这样编写它;
public class ClassName<T1, T2> { }
Run Code Online (Sandbox Code Playgroud)
但是如果我想创建一个需要3种不同类型的泛型类,我必须像下面那样编写它;
public class ClassName<T1, T2, T3> { }
Run Code Online (Sandbox Code Playgroud)
但我想创建一个可以采用2或3个或更多不同类型而不创建新类的类.只有一个类定义.
可能吗?