在C#中,我开始使用属性来定义我的类。我正在写一个插件系统,其中的类需要一些元数据被识别为插件。将属性合并到一个属性中或者分成更多属性?
我不清楚Visual Studio Extensions是如何做到的,但我需要一个意见或设计规则,告诉我是否应该使用很多(可选)参数创建一个属性,或者使用更少的参数来使用更多的属性。
例如,该决定是关于这两个不同的代码段:
单个属性,许多性能:
[Plugin("Image Tools", Author = "PacMani", Description = "blahblah",
Website = "http://blahblah.contoso.com/", Image = "Icon32x32.png")]
public class ImagePlugin : Plugin
{
// ...
}
与
[Plugin("Image Tools", Author = "PacMani", Description = "blahblah")]
[Website("http://blahblah.contoso.com/")]
[Image("Icon32x32.png")]
public class ImagePlugin : Plugin
{
// ...
}
或者甚至一个版本,其分离向上“作者“和”描述“合并为一个属性。
我的想法是不分裂按主题分组的属性。但是这些团队从哪里开始和结束呢?以上属性都是关于插件的“详细信息”或“描述性信息”组。
是否有任何逻辑与这些属性连接,或者它们只是提供信息? –
在上面的示例中,他们需要在IDE中显示有关IDE中插件的信息(类似于VS信息对话框)。我可以想象稍后会添加更多属性,例如“版本”,这可能不是可选的。 –
如果每次使用它们时都会使用它们,那么您应该使用单个属性。 –