using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main()
{
Season[] seasons = new Season[] {Season.Fall, Season.Winter};
object[] objs = new object[seasons.Length];
for (int i = 0; i < seasons.Length; i++)
{
objs[i] = seasons[i];
}
SomeFunction(objs);
Console.WriteLine(new string('-', 10));
SomeFunction(seasons.Cast<object>().ToArray());
}
public static void SomeFunction(params object[] values)
{
foreach (var value in values)
{
var type = value.GetType();
Console.WriteLine(type);
}
}
}
[Flags]
public enum Season : byte
{
None = 0,
Spring = 1,
Summer = 2,
Fall = 4,
Winter = 8
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJU2Vhc29uW10gc2Vhc29ucyA9IG5ldyBTZWFzb25bXSB7U2Vhc29uLkZhbGwsIFNlYXNvbi5XaW50ZXJ9OwoJCQoJCW9iamVjdFtdIG9ianMgPSBuZXcgb2JqZWN0W3NlYXNvbnMuTGVuZ3RoXTsKCQlmb3IgKGludCBpID0gMDsgaSA8IHNlYXNvbnMuTGVuZ3RoOyBpKyspCgkJCXsKCQkJCW9ianNbaV0gPSBzZWFzb25zW2ldOwoJCQl9CgkJCgkJU29tZUZ1bmN0aW9uKG9ianMpOwkKCQlDb25zb2xlLldyaXRlTGluZShuZXcgc3RyaW5nKCctJywgMTApKTsKCQlTb21lRnVuY3Rpb24oc2Vhc29ucy5DYXN0PG9iamVjdD4oKS5Ub0FycmF5KCkpOwoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgU29tZUZ1bmN0aW9uKHBhcmFtcyBvYmplY3RbXSB2YWx1ZXMpIAoJewoJCgkgICAgIGZvcmVhY2ggKHZhciB2YWx1ZSBpbiB2YWx1ZXMpCgkgICAgIHsKCSAgICAgICAgICB2YXIgdHlwZSA9IHZhbHVlLkdldFR5cGUoKTsKCQkJICBDb25zb2xlLldyaXRlTGluZSh0eXBlKTsKCSAgICAgfQoJfQp9CgpbRmxhZ3NdCnB1YmxpYyBlbnVtIFNlYXNvbiA6IGJ5dGUKewogICAgTm9uZSA9IDAsCiAgICBTcHJpbmcgPSAxLAogICAgU3VtbWVyID0gMiwKICAgIEZhbGwgPSA0LAogICAgV2ludGVyID0gOAp9CgoKCg==