能不能帮我看一下下面那个程序用c#怎么写

建立三个类:居民、成人、官员。居民包含身份证号,姓名、出生日期。而成人继承自居民 多包含学历、职业两项数据;官员则继承自成人,多包含党派、职务两项数据。要求每个券中都提供数据输人输出的功能。

以下是三个类的定义:


/// <summary>
/// 居民
/// </summary>
public class Resident
{
    /// <summary>
    /// 身份证号
    /// </summary>
    public string IDNumber { get; set; }
    /// <summary>
    /// 姓名
    /// </summary>
    public string Name { get; set; }
    /// <summary>
    /// 出生日期
    /// </summary>
    public DateOnly DateOfBirth { get; set; }

    /// <summary>
    /// 设置居民的数据
    /// </summary>
    /// <param name="id"></param>
    /// <param name="name"></param>
    /// <param name="dateOfBirth"></param>
    public void Input(string id, string name, DateOnly dateOfBirth)
    {
        IDNumber = id;
        Name = name;
        DateOfBirth = dateOfBirth;
    }

    public void Output()
    {
        Console.WriteLine($"显示居民的信息,身份证号:{IDNumber},姓名:{Name},出生日期:{DateOfBirth}");
    }
}


/// <summary>
/// 成年人
/// </summary>
public class Adult : Resident
{
    /// <summary>
    /// 学历
    /// </summary>
    public string EducatioinBackground { get; set; }
    /// <summary>
    /// 职业
    /// </summary>
    public string Occupation { get; set; }
}

/// <summary>
/// 官员
/// </summary>
public class Officer : Adult
{
    /// <summary>
    /// 党派
    /// </summary>
    public string PoliticalParty { get; set; }
    /// <summary>
    /// 职务
    /// </summary>
    public string Position { get; set; }
}