多种数据类型的列表?

2023-12-11

我有两个这样的课程:

public class MachineLine
{
    public double X1;
    public double Y1;
    public double X2;
    public double Y2;
    public double Thickness;
}

public class MachineCircle
{
    public double CenterX;
    public double CenterY;
    public double Radius;
}

我想创建一个可以容纳这两种数据的列表,但我不希望我的列表能够容纳任何其他数据类型。如何才能做到这一点?


最简单的方法是声明一个接口,并让两种类型都实现它:

public interface IMachine { … }

public class MachineLine : IMachine
{
    public double X1;
    public double Y1;
    public double X2;
    public double Y2;
    public double Thickness;
}

public class MachineCircle : IMachine
{
    public double CenterX;
    public double CenterY;
    public double Radius;
}

然后你可以这样做:

List<IMachine> m = new List<IMachine>();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多种数据类型的列表? 的相关文章

随机推荐

  • 如何强制 Laravel 项目对所有路由使用 HTTPS?

    我正在开发一个需要安全连接的项目 我可以通过以下方式设置路由 uri 资产以使用 https Route get order details id uses gt OrderController details as gt order de
  • 防止EditText自动聚焦

    我有一个 Android 活动 有一个EditText在整个布局中 由于某种原因 每当活动开始时 键盘就会出现 我努力了all以下事项 将这两个放入OnStart FindViewById
  • R 图:如何使用 mtext 获取 las=1 的顶部对齐垂直标签

    我正在尝试使用在垂直轴上获得标签mtext水平阅读 las 1 并且位于轴的顶部 我的尝试是使用las 1 adj 1 当我不指定时我可以获得所需的展示位置las 1 但是一旦我添加las 1论证adj 1放置消失 这是带有代码的图片 左图
  • R:使用网格的馈送功能

    我正在使用 R 编程语言 我编写了这个循环 它在随机选择的输入 random 1 random 2 random 3 random 4 split 1 split 2 split 3 中评估以下 函数 实际上是一个 循环 100次 load
  • YouTube URL 的正则表达式

    我正在使用以下正则表达式来验证 YouTube 视频share url s var valid http youtube com youtu be alert valid test url return false 我希望正则表达式支持以下
  • python对象列表,根据对象属性降序排序

    我有一个对象列表 我需要按对象属性之一对其进行排序 我可以使用以下代码按升序排序 list1 sorted list1 key lambda object1 object1 fitness 但是 这按升序对列表进行排序 而我需要做的是按降序
  • MediaRecorder.ondataavailable - 数据大小始终为 0

    我正在尝试使用 Web API Media Recorder 在浏览器中录制用户的声音 在此阶段 我对录制后的音频所做的就是将其添加到音频元素的源中并进行播放 当我停止录音机时 会触发 ondataavailable 事件 但数据大小为0
  • Java 泛型 - 为什么构造函数中的这个赋值是非法的?

    为什么我在这段代码中遇到编译器错误 我如何解决它 public class Container
  • Django - ImportError:没有名为 apps 的模块

    我正在 djangoproject com 网站上尝试 Django 教程 但是当我到达执行第一个 makemigrations polls 的部分时 我不断收到此错误 导入错误 没有名为 apps 的模块 Traceback most r
  • 在 Expect 脚本中处理多个衍生进程

    这是我的预期脚本的用例 我拥有的少数几个之一 我想运行多个sed通过 ssh 命令 它就像预构建环境设置一样 我想运行这样的东西 usr bin expect set timeout 1 spawn noecho bash c ssh t
  • 如何使用命令行从私有仓库下载 GitHub Release

    GitHub 指南解释了两种授权方式 但看起来这两种方式都不适用于发布文件 后果 curl u username L o a tgz https github com company repository releases download
  • 如何在 Android 的 Unity 中将 System.IO.Stream 转换为纹理?

    我正在 Unity 中构建客户端 Android 应用程序 当它从 AWS S3 服务器下载 jpg 时 结果会以 System IO Stream 的形式返回 然而 我对 Mono 和 Net 的了解有限 这意味着我正在努力弄清楚如何将这
  • SQL 内部联接返回的行数比预期多得多

    当每个表只有 340 行时 以下查询返回 gt 7000 行 SELECT Config Spec TempTable Spec FROM Confg INNER JOIN TempTable on Config Spec TempTabl
  • 为所有用户从 VS.NET MSI 安装程序项目安装快捷方式

    我在这里搜索了又搜索 我尝试过以下方法但没有成功 将项目安装程序属性设置为 InstallforAllUsers 不记得确切的名称 但这确实会将快捷方式添加到所有用户的菜单 但只有安装该应用程序的用户才能运行它 其他用户收到 SysWOW6
  • 动画显示正在退出/被替换的路线

    我通过以下实现进行了简单的淡入淡出页面转换 return new PageRouteBuilder opaque true pageBuilder BuildContext context Animation
  • 访问API网关时缺少身份验证令牌?

    我正在尝试通过 AWS API Gateway 调用 Lambda 函数 当我提到身份验证类型 NONE 时 它工作正常 但 API 变得公开 任何拥有 url 的人都可以访问我的 API 为了使 API 调用安全 我使用身份验证类型 AW
  • 如何在 Azure 应用服务中使用 .Net Core 应用程序发布 Angular 9 Universal

    我使用 Angular 9 创建了一个 Asp NET Core Web 应用程序 我已将 Angular Universal 添加到我的应用程序中 现在我需要将我的应用程序发布到 Azure 应用程序服务中 我使用以下命令来构建应用程序
  • 支持文本路径的文本渲染库

    我需要一个良好 可靠的库或工具链 用于以编程方式将具有不同大小 字体 粗细等的文本渲染为 png 它还需要能够以弧线或路径渲染文本 我希望它能够很快 因为我会像在服务器上运行它一样 我尝试过使用 SVG 和librsvg 但这不会渲染
  • iPhone键盘返回键颜色

    我们可以改变iPhone键盘返回键颜色的颜色吗 苹果支持吗 如果是的话 你能帮我改变它吗 没有可用的公共 API 如果您使用私有 API 那么您的应用程序将在应用程序商店中被拒绝
  • 多种数据类型的列表?

    我有两个这样的课程 public class MachineLine public double X1 public double Y1 public double X2 public double Y2 public double Thi