小编hem*_*lit的帖子

应用程序设置中的结构数组

在 .NET应用程序设置中保存一系列结构相同的简单配置元组的干净、规范的方法是什么?

假设我的程序有(用户范围)设置,如“服务器名称”、“地址”、“端口”。我只是将这三个作为两个字符串和一个 int 添加到应用程序设置中。
但是如果我的程序的配置需要处理多个这样的服务器,用户可以在其中添加和删除任意数量的服务器怎么办?我希望设置包含一组三元组,每个三元组由两个字符串和一个 int 组成,而应用程序设置似乎不太支持这一点。

这是一个由基本类型组成的相对轻量级的结构,但到目前为止,我发现的最简洁的方法是创建一个新类(!)来保存三元组数组,用自定义序列化/反序列化代码来适应类,然后将其设置为单个“设置”的类型。
可以做到这一点,但考虑到大多数应用程序设置是多么的不干涉,这真的很像一些可能以更直接的方式可行的东西。

那么有没有这样的方法呢?

(是的,我已经看到了“应用程序设置中的 int[] 数组”问题,在这种情况下,那里的有用答案并没有那么有用。)

ETA:问题的关键不在于服务器名称或端口号,而在于一结构相同的简单数据元组,其中每个单独的数据都将被简单地保存。

c# windows application-settings

5
推荐指数
1
解决办法
1773
查看次数

如何测试Python对象是否是一个模块?

Python模块也是对象.所以我想可以通过这种方式测试给定对象是否是模块(/ package):

>>> import sys, os, my_module
>>> isinstance(sys, ModuleClass)
True
>>> isinstance(os, ModuleClass)
True
>>> isinstance(my_module, ModuleClass)
True
>>> isinstance(5, ModuleClass)
False
Run Code Online (Sandbox Code Playgroud)

除了"ModuleClass"只是我发明的一个名字,我在文档中找不到它是否真的存在以及它叫什么.

是否有这样的课程?它是在我错过的文档中的某个地方吗?

如果没有,是否有另一种方法来查看对象是否是一个模块?如果它与实现无关,那就更好了.

(我正在使用Python 2.7,但我想知道3.x是否有一些新解决方案也很有趣.)

听起来像hasattr(obj, '__package__')(PEP 366)是一种可能的权宜之计,但是AFAICT并没有特别的理由确信未来的某些更新不会放入__package__其他一些完全不相关的对象中.我更喜欢一种感觉更强大的解决方案.

python

3
推荐指数
2
解决办法
879
查看次数

标签 统计

application-settings ×1

c# ×1

python ×1

windows ×1