public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
lock (creatingCached)
{
if (cached != null)
{
return(cached);
}
#if TARGET_JVM
Color [] colors = new Color [KnownColors.Values.Length - 1];
Array.Copy(KnownColors.Values, 1, colors, 0, colors.Length);
#else
Array colors = Array.CreateInstance(typeof(Color), KnownColors.ArgbValues.Length - 1);
for (int i = 1; i < KnownColors.ArgbValues.Length; i++)
{
colors.SetValue(KnownColors.FromKnownColor((KnownColor)i), i - 1);
}
#endif
Array.Sort(colors, 0, colors.Length, new CompareColors());
cached = new StandardValuesCollection(colors);
}
return(cached);
}