c# - 访问类中对象的属性
问题描述
我有一个汽车类,它有一个财产所有者。Owner 有两个属性:FirstName 和 LastName
在下面显示的单元测试中,我无法访问两个名称字段,
“当前上下文中不存在名称“所有者””
namespace CodeExcercise
{
[TestClass]
public class TestClass
{
[TestMethod]
public void Test()
{
var cars = new List<Car>()
{
new Car() { owner.Firstname = "Brian", Lastname = "Badonde", Cost = 5, Registered = DateTime.Now},
};
new PrintMethod().PrintReport(cars, "CR.csv");
var outPut = File.ReadAllLines("CR.csv");
Assert.AreEqual(1, outPut.Count());
}
}
public class Owner
{
public string Firstname;
public string Lastname;
}
public class Car
{
public Owner owner;
public double Cost;
public DateTime Registered;
}
解决方案
您用于在owner
此处设置属性的语法不正确:
new Car() { owner.Firstname = "Brian", Lastname = "Badonde", Cost = 5, Registered = DateTime.Now}
您将使用Owner
与创建对象相同的语法来创建Car
对象。例如:
new Car()
{
owner = new Owner()
{
Firstname = "Brian",
Lastname = "Badonde"
},
Cost = 5,
Registered = DateTime.Now
}
您可以随意嵌套它,每个单独的对象创建都是它自己的操作。
推荐阅读
- php - 如何将php变量解析为xml标签..?
- ios - iOS - 从图库或相机中选择图片,然后裁剪、拖动、删除或调整图片大小
- c++ - 是否可以在没有显式特化的情况下调用可变参数模板函数?
- java - 如何从 Vaadin 图表时间轴中的 RangeSelector 获取用户选择的日期?
- distinct - 如何计算mongodb java Api中的不同字段
- ios - 查看 iOS 应用程序是否使用 Swift 编译
- c - C中的状态机实现
- redis - 在具有 redis-cli 密码的 redis 中删除带有模式的键
- selenium - 无法找到元素并单击按钮
- javascript - 在特定点流式传输 Mp3 文件