小编thr*_*ead的帖子

int和null之间没有隐式转换

我有一个类,它具有如下的可空属性;

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)

c# nullable implicit-conversion

5
推荐指数
1
解决办法
5086
查看次数

如何知道静态方法的类名

我有一个类,它有一些静态方法.我还有另一个类继承我的第一个类,如下所示;

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)

c# reflection methodbase

2
推荐指数
1
解决办法
79
查看次数

如何创建采用无限类型的泛型类

我想创建一个可以采用无限类型的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个或更多不同类型而不创建新类的类.只有一个类定义.

可能吗?

c# generics

1
推荐指数
1
解决办法
501
查看次数