从c#的属性中获取值
本文关键字:获取 属性 | 更新日期: 2023-09-27 18:11:39
我是c#新手,我有以下问题:
DBOps.cs:
class DBOps()
{
internal static void Update(DataGridView dataGridView1)
{
if (dataGridView1.SelectedRows.Count != 0)
{
var user = new User();
user.Id = (int) dataGridView1.SelectedRows[0].Cells[0].Value;
user.Username = (string) dataGridView1.SelectedRows[0].Cells[1].Value;
user.FirstName = (string) dataGridView1.SelectedRows[0].Cells[2].Value;
user.LastName = (string) dataGridView1.SelectedRows[0].Cells[3].Value;
user.Email = (string) dataGridView1.SelectedRows[0].Cells[4].Value;
user.Password = (string) dataGridView1.SelectedRows[0].Cells[5].Value;
var updateForm = new UpdateForm(user);
var result = updateForm.ShowDialog();
if (result == DialogResult.OK)
{
}
else if (result == DialogResult.Cancel)
{
}
}
}
}
User.cs:
class User
{
public int Id { get; set; }
public string Username { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string Password { get; set; }
}
UpdateForm.cs:
public partial class UpdateForm : Form
{
public UpdateForm(User user)
{
InitializeComponent();
txtId.Text = user.Id.ToString();
txtUser.Text = user.Username;
txtFName.Text = user.FirstName;
txtLName.Text = user.LastName;
txtEmail.Text = user.Email;
txtPass.Text = user.Password;
}
//code
}
dops类中的值存储正确,我已经检查过了。现在我想用User.cs.
首先,我建议你用Convert.ToInt32()
, Convert.ToString()
而不是在你的问题中像那样强制转换。
那么请检查User
类的可达性
如果您使用的是Visual Studio,您可以通过按键盘上的{F12}来轻松检查类定义。
如果类不在同一个项目中,请添加参考。
如果类不在同一个命名空间中,请添加一行using xxxxx;
如果您仍然无法获取值,请将所有属性更改为public
最后,我认为您可以通过输入以下代码行来获取值:
txtUserID.Text = User.Id.ToString();
txtUserName.Text = User.UserName;
txtFirstName.Text = User.FirstName;
txtLastName.Text = User.LastName;
txtEmail.Text = User.Email;
txtPassword.Text = User.Password;
我不建议你在文本框中显示密码。
如果你对c#还有任何问题,请告诉我
您只需获得对User类的引用,然后通过它们的属性获取器访问它们。例如:
User user = /* get reference to User */
textbox.Text = user.Username;
我不知道你想要做什么,但是你可以使用构造函数方法将对象传递给另一个类。
public class SecondObject
{
public SecondObject(User theuser)
{
textbox1.Text = theuser.Id
textbox2.text = theuser.Username
// ...
}
}
使用第二个类:
var user = new User();
user.Id = (int) dataGridView1.SelectedRows[0].Cells[0].Value;
user.Username = (string) dataGridView1.SelectedRows[0].Cells[1].Value;
user.FirstName = (string) dataGridView1.SelectedRows[0].Cells[2].Value;
user.LastName = (string) dataGridView1.SelectedRows[0].Cells[3].Value;
user.Email = (string) dataGridView1.SelectedRows[0].Cells[4].Value;
user.Password = (string) dataGridView1.SelectedRows[0].Cells[5].Value;
SecondObject obj = new SecondObject(user);