1

次のメソッド呼び出しがあります。

var types = CityTypeExt.GetOptions();
var statuses = CityStatusExt.GetOptions();

および次のメソッド:

public static class CityTypeExt
{
    public static SelectList GetOptions()
    {
        var values = EnumUtilities.GetSpacedOptions<CityType>();
        var options = new SelectList(values, "Value", "Text");
        return options;
    }
}

public static class CityStatusExt
{
    public static SelectList GetOptions()
    {
        var values = EnumUtilities.GetSpacedOptions<CityStatus>();
        var options = new SelectList(values, "Value", "Text");
        return options;
    }

}

CityTypeExt と CityStatusExt を組み合わせる汎用メソッドを作成する方法はありますか?

CityType と CityStatus は Enum であることに注意してください。

4

1 に答える 1

4

これを試して:

public static class CityExt
{
    public static SelectList GetOptions<T>() where T : struct, IConvertible

    {
        var values = EnumUtilities.GetSpacedOptions<T>();
        var options = new SelectList(values, "Value", "Text");
        return options;
    }

}

var types = CityExt.GetOptions<CityType>();
var statuses = CityExt.GetOptions<CityStatus>();
于 2012-10-24T09:12:27.410 に答える