首页 > 解决方案 > 访问类中对象的属性

问题描述

我有一个汽车类,它有一个财产所有者。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;     
    }

标签: c#

解决方案


您用于在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
}

您可以随意嵌套它,每个单独的对象创建都是它自己的操作。


推荐阅读