我可以将多个值传递到C#中的Setter中吗?

我可以将多个值传递到C#中的Setter中吗?,c#,xml,properties,resx,C#,Xml,Properties,Resx,大家好,我正在尝试构建一个保存设置,不公开我的方法,我正在尝试从实际运行时隐藏尽可能多的方法,并从我所有IO的setter和getter运行它们 我需要能够将文件位置的Uri和字典传递到方法中,以便进行调用。我会将文件位置放入resx,但我必须能够允许系统管理员更改文件的位置。我所要加载的只是将键值对加载到xml中 做这件事最好的方法是什么?你不能。但是您可以创建一个属性集合类,并设置每个属性的值。您可以使用元组(在使用.Net Framework 4.0+时) 类设置类 { 公共元组TwoVa

大家好,我正在尝试构建一个保存设置,不公开我的方法,我正在尝试从实际运行时隐藏尽可能多的方法,并从我所有IO的setter和getter运行它们

我需要能够将文件位置的Uri和字典传递到方法中,以便进行调用。我会将文件位置放入resx,但我必须能够允许系统管理员更改文件的位置。我所要加载的只是将键值对加载到xml中


做这件事最好的方法是什么?

你不能。但是您可以创建一个属性集合类,并设置每个属性的值。

您可以使用元组(在使用.Net Framework 4.0+时)

类设置类
{
公共元组TwoValuesProperty{get;set;}
}
然后您可以通过以下方式使用它:

SettingsClass settings = new SettingsClass();

settings.TwoValuesProperty = new Tuple<string, Dictionary<string, string>>("URI", new Dictionary<string, string>());
SettingsClass settings=new SettingsClass();
settings.twowaluesproperty=新元组(“URI”,new Dictionary());

您可以发布您试图创建的类的代码示例以及要为其创建setter的属性吗?您不能,但是使用struct作为类型可以在堆栈而不是堆上传递这些值,语法不是很好,但就像传递2+个值一样。
我试图在实际运行时隐藏尽可能多的方法,并在我所有IO的setter和getter中运行它们。
为什么?getter和setter实际上只是另一种方法。保持界面小而简单是一个好主意,但使用方法并没有坏处。这是一个好主意,我以前只在2D游戏编程中见过元组。我没想到用这种方式。我本来想用
字典
,但我觉得你的方法看起来更好。性能会有什么不同吗?不会。元组只是一种普通类型。
SettingsClass settings = new SettingsClass();

settings.TwoValuesProperty = new Tuple<string, Dictionary<string, string>>("URI", new Dictionary<string, string>());