Settings.settings 中的自定义数据类型作为类数组

发布于 2024-11-30 09:03:18 字数 765 浏览 1 评论 0原文

我在网上搜索并找到了如何在设置中添加特定的自定义数据类型。 我自己插入数据,而不是在程序运行时通过代码插入数据。我的问题是如何将自定义数据类型添加到设计器中的组合框。现在我想通了,需要建议,如何添加这种类型的数据类型数组。我将用简单的例子来展示。

我在settings.setting中有这个类

[Serializable()]
public class Product
{
public string Name { get; set; }
public int Price { get; set; }
}

,我有设置ProductSettings,类型MyApp.Data.Product,范围Application并且默认值包含以下

<xml definition>
<Product xlmns:xsi=.....>
<Name>Banana</Name>
<Price>1</Price>
</Product>

内容它工作得很好。但现在,我需要从设置文件中获取产品集合,因此我尝试将类型指定为 MyApp.Data.Product[] 但事实并非如此。设计器弹出窗口并显示“MyApp.Data.Product[] 未定义。”。我怎样才能弄清楚?

谢谢

PF:这个项目只是 WPF 应用程序使用的类库 - 如果重要的话

I searched the web and found how to add specific custom data type in settings. I'm inserting data by my self, not by code while program running. My problem was how to add custom data type to combobox in designer. Now I figured it out and need advice, how to add data type array of this type. I'll show on simple example.

I have this class

[Serializable()]
public class Product
{
public string Name { get; set; }
public int Price { get; set; }
}

in settings.setting i have setting ProductSettings, type MyApp.Data.Product, scope Application and default value contains following

<xml definition>
<Product xlmns:xsi=.....>
<Name>Banana</Name>
<Price>1</Price>
</Product>

By this way it works just fine. But now, I need get a collection of Products from settings file, so I tryed to specify type as MyApp.Data.Product[] but it can't be. Designer pop-up window and says "MyApp.Data.Product[] is not defined.". How can I figure it out?

Thanks

PF: this project is just class library used from WPF application - if matters

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浪漫人生路 2024-12-07 09:03:18

使用 System.Collections.Generic.List。或者您可以创建一个继承自 List的类。

然后在值中,您将具有以下格式:

<ArrayOfProduct xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd=
"http://www.w3.org/2001/XMLSchema">
  <Product>
    <Name>Banana</Name>
    <Price>1</Price>
  </Product>
</ArrayOfProduct>

Use System.Collections.Generic.List<MyApp.Data.Product>. Or you can create a class that inherites from List<MyApp.Data.Product>

Then in the value, you will have this format:

<ArrayOfProduct xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd=
"http://www.w3.org/2001/XMLSchema">
  <Product>
    <Name>Banana</Name>
    <Price>1</Price>
  </Product>
</ArrayOfProduct>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文