C#中有没有类似Bundle的东西

本文关键字:Bundle 有没有 | 更新日期: 2023-09-27 18:27:18

我正在用c#做一个项目,我需要一些类似于android上的bundle的东西。有什么建议吗?

编辑时间:我的想法是捆绑包不是每个人都清楚。它的工作原理与Dictionary类似,但您可以在其中放入几乎任何内容(字符串、int、对象…),并根据关键字搜索您想要的内容。

C#中有没有类似Bundle的东西

如果你想要一个可以放置任何东西的字典,你只需要意识到C#中的任何东西(除了极少数例外)都是object。所以,只需创建Dictionary<string, object>

但我建议你试着想出一个更好的解决方案。C#的一个优点是它是类型安全的。在这里,你正试图解决这个问题,这可能会导致错误。

虽然您可能应该使用与强类型语言更一致的构造。。。

看起来您要么需要动态对象,要么需要Dictionary<String, Object>,甚至需要Dictionary<Object, Object>

Bundle不仅仅是"在方法之间传递值"。这是一种跨流程边界移动数据的机制。该方法和概念都是Android特有的。要模拟它,您需要实现对象映射的东西,并且可以由在另一个进程(包括远程进程)中运行的代码使用。我不能再提供任何建议了,因为我不知道如何处理这种情况。

欢迎您阅读开源中Bundle的定义。

我无法确切地说出您想要实现的目标,但据我所知,您正在尝试将值从一个windows窗体传递到另一个窗体。如果你想这样做,那么你可以这样做:

// Example objects
Object myObject;
String myString;
Form1 myForm = new Form1(myObjects, myString);
myForm.show();

在C#中,将变量传递到另一种形式中,就像对类传递一样。您可以在Form1类的构造函数中添加特定的参数,然后当您想要显示Form1时,您可以使用要传递到表单上的变量初始化新表单。