考虑下一个代码:
public Color TotalColor { get; set; }
public string TotalColorName
{
get => TotalColor.ToString();
set => TotalColor = Color.FromHex(value);
}
它运作良好。现在我正在尝试对两个数组实现相同的方法:
public string[] AreaColorNames { set; } = new string[3];
public Color[] AreaColors { get; } = new string[3];
我应该如何编写设置器AreaColorNames?它应该是这样的:
AreaColorNames
{
set
{
AreaColors[index] = Color.FromHex(value);
}
}
但是我们在设置器中没有index参数。有一些解决方法吗?谢谢你。
编辑
在我的情况下,许多颜色可能不同,所以我不能使用“左中右”方法。
让我解释一下我想要做什么。我正在开发一个用于读取特定文件格式的内部库。消费者将通过不同的应用程序使用它,例如桌面和移动设备。所以我不想读取颜色值本身,因为在一个系统类型Color中描述System.Drawing,在其他 - 在Xamarin.Forms等中。我想我可以ColorName在接口中有一个属性,它将用作函数参数和适当的设置器每个实施。因为库专门用于我们自己的应用程序,所以我不会为错误使用而烦恼 - 它会受到内部安排的限制。