列表-C#接口实现中的不同类型
发布时间:2022-06-19 03:41:03 247
相关标签: # flask
我真的很难证明这一点,但我会尽力解释我的观点。
假设我有这个:
List Shapes = new List();
public interface IShape {
dynamic shapeAttributes { get; set; }
};
public struct SquareAttributes {
float sizeOfSide;
};
public struct CircleAttributes {
float radius
};
public class Square : IShape {
SquareAttributes shapeAttributes { get; set; }
};
public class Circle : IShape {
CircleAttributes shapeAttributes { get; set; }
};
Shapes.Add(new Square());
Shapes.Add(new Circle());
我如何使这种情况发挥作用?这里 IShape 中的“动态”关键字在 Square 和 Circle 中实现时没有解决,但我仍然希望能够在实现时定义正确的类型,而不是在任何地方使用“动态”。有没有正确的方法来处理这个问题,能够在同一个列表中重新组合所有类型的形状?我希望这很清楚。
我显然简化了整个事情以直截了当,但所涉及的一切都复杂得多,不能真正放在一个大块中。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报