如何使用内联赋值在 C# 对象中分配部分值
本文关键字:对象 分配部 何使用 赋值 | 更新日期: 2023-09-27 18:32:19
我有一个模型集合
public class MobileModelInfo
{
public string Name { get; set; }
public string Catagory { get; set; }
public string Year { get; set; }
}
Public Class MainClass
{
public MainClass()
{
MobileModelInfo mobObject = new MobileModelInfo();
mobObject.Name = "Apple iPhone 6";
SetMobileDetails(mobObject);
}
private void SetMobileDetails(MobileModelInfo mobObject)
{
mobObject.Catagory = "Ultra Smart Phone";
mobObject.Year = "2015";
}
}
在 SetMobileDetails() 方法中,将部分值设置为 MobileModelInformation 的对象。在这里,我需要通过内联分配值。我怎样才能实现这一点
例如:new MobileModelInfo() { Catagory = "Ultra Smart Phone", Year = "2015" }
请协助我...
注意:其中一个属性在构造函数中设置,其余属性将在 SetMobileDetails() 方法中设置。
使用以下代码来解决您的问题,谢谢。
void SetMobileDetails(String Catagory String Year )
{
new MobileModelInfo() { Catagory = "Ultra Smart Phone", Year = "2015" }
}
当属性更改时,还要重载,如下所示
void SetMobileDetails(String Catagory)
{
new MobileModelInfo() { Catagory = "Ultra Smart Phone"}
}
您可以使用命名参数,但需要传递对象属性的值
private void SetMobileDetails(string catagory="", string year="")
{
//...
}
您可能需要一个构造函数,其中包含所有三个属性值
public MainClass(string name, string catagory="", string year="")
{
mobObject.Name = name;
SetMobileDetails(catagory: "Ultra Smart Phone", year : "2015");
}
这就是您所需要的:
public class MobileModelInfo
{
public string Name { get; private set; }
public string Catagory { get; set; }
public string Year { get; set; }
public MobileModelInfo(string name)
{
Name = name;
}
}
用法:
var iphone = new MobileModelInfo("Apple iPhone") {Catagory = "Mobile", Year = "2016"};