У меня проблема с созданием метода расширения!
public enum TestEnum
{
One, Two, Three, Four
}
public static class EnumExtension
{
public static bool TestMethod(this TestEnum e)
{
return false;
}
}
[TestMethod]
public void TestAll()
{
var result = TestEnum. ; //this only gives the values of the enum (One, Two, Three, Four), there is no option to call the extension method
}
Я надеюсь, что комментарий в приведенном выше коде действительно показывает проблему - я предполагаю, что я делаю массивное предположение и понимаю его очень неправильно.
Однако я бы предпочел сделать это более удобным, позволив любому перечислению вызывать эту функцию. Конечной целью будет что-то вроде
public static IEnumerable<string> ConvertToList(this Enum e)
{
var result = new List<string>();
foreach (string name in Enum.GetNames(typeof(e))) //doesn't like e
{
result.Add(name.ToString());
}
return result;
}