c# - 如何在 C# 中对继承的基构造函数执行操作?

标签 c#

例子

public class ClassA
{
    public ClassA(string someString){}
}

public class ClassB : ClassA
{
    public ClassB(string someString):base(someString.ToLower()){}
}

我调用继承的 ClassB 构造函数。我传入一个空值。 ToLower() 在 null 上抛出异常。我想在那之前检查是否为空。我该怎么做?

最佳答案

简单。使用null-coalescing operator :

public ClassB(string someString) : 
    base((someString ?? "").ToLower())
{
}

或使用 ternary operator

public ClassB(string someString) : 
    base(someString == null ? "" : someString.ToLower())
{
}

更好的是,我建议您向 ClassB 添加一个无参数构造函数,它将调用 base(string.Empty)

关于c# - 如何在 C# 中对继承的基构造函数执行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2294739/

相关文章:

c# - mvc 使用 checkboxfor 模型未回发

c# - 检查 Page.RouteData.Values 是否有值

c# - Visual Studio 编译正常,但仍然显示红线

c# - 在屏幕的右下角显示表格?

c# - 将文本附加到文件 Windows 商店应用程序 (windows RT)

c# - 如何覆盖字典的 ToString()

c# - 使用 iTextSharp 从 PDF 中删除第一页

c# - 异步刷新 ASP.NET MVC 中的缓存动态页面

c# - 异步复制文件时得到 `Cannot access a closed file`

c# - Entity Framework 与 OrderBy 不同