c#中的动态属性取决于枚举值



我试图根据类的enum属性在类dyanmic中创建一个属性。

例如,我有一个会议类,它有一个地点的枚举,如果选择了一个地点,地点的详细信息应该不同,例如,如果选择Inperson,那么地点的详细内容应该是Address类型的类,否则,如果选择zoom的地位,那么详细信息应该只是一个带有url 的字符串

public enum Meeting_Location
{
InPerson,
Zoom,
GoogleMeet
}
public class Meeting
{
public string Name;
public Meeting_Location Location;
public ... Location_Details; --> this is dynamic depending on the enum that is selected
}
public class Address
{
public string postcode;
public string country;
public string StreetName;
....
}

在这种情况下,我不建议您使用枚举来告诉会议的类型。相反,您应该使用多态性。使课堂本身成为会议的类型。

public abstract class Meeting
{
public string Name { get; set; }
}
public class InPersonMeeting : Meeting
{
public Address Location { get; set; }
}
public class ZoomMeeting : Meeting
{
public string Link { get; set; }
}

最新更新