c# - 不包含带 4 个参数的构造函数?

标签 c# .net constructor compiler-errors

我对编程很陌生,我已经被这个问题困扰了一段时间,我已经在整个互联网上搜索了这个问题的答案,但仍然对它为什么不起作用感到困惑。编译器说下面的代码不包含带有 4 个参数的构造函数?我不明白为什么?

代码是:

public class Users
{
    private int _ID;
    private string _FName;
    private string _LName;
    private string _Address;
    private string _Phone;

    public int ID
    {
        get { return _ID; }
    }

    public string FName
    {
        get { return _FName; }
    }

    public string LName
    {
        get { return _LName; }
    }

    public string Address
    {
        get { return _Address; }
    }

    public string Phone
    {
        get { return _Phone; }
    }
}

有问题的代码是:
public static void Insert(string FName, string LName, string Address, string Phone)
{
    Users newUser = new Users(FName, LName, Address, Phone);
    newUser.Save();
}

最佳答案

声明一个接受 4 个参数的构造函数:

class User
{
    public User(string firstName, string lastName, string address, string phone)
    {
       _fName = firstName;
       ....
    }
}

用法:
User user = new User("Joe", ...);

或将公共(public) setter 添加到类属性,然后使用对象初始化器:
public string FirstName { get; set; } // notice public

用法:
User user = new User { FirstName = "Joe", ... };

关于c# - 不包含带 4 个参数的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15181480/

相关文章:

c# - 使用 ExecuteScalar 插入时使用 Npgsql 检索序列号

c++ - 编译器无法识别重载构造函数 C++

java - 为什么这些字段在首次使用之前没有被初始化?

c# - 复杂对象不能被同一个实体多次引用

c# - 如何从 ItemTemplate 中将命令绑定(bind)到 ContextMenu?

c# - Visual Studio 负载测试结果存储库空间不足

c# - 使用事件和委托(delegate)对类进行单元测试

c# - 代表有什么用?

.net - GenericRepository 和 EF。好吗?

c++ - 谁删除了在构造函数中有异常的 "new"操作期间分配的内存?