Click here to Skip to main content
15,790,440 members
Home / Discussions / C#
   

C#

 
SuggestionRe: Maintain the Runing balance in Datagridview Pin
Richard MacCutchan21-Apr-20 10:15
mveRichard MacCutchan21-Apr-20 10:15 
AnswerRe: Maintain the Runing balance in Datagridview Pin
ZurdoDev21-Apr-20 10:51
professionalZurdoDev21-Apr-20 10:51 
Questionextending an Enum with a function that returns a generic value ? Pin
BillWoodruff20-Apr-20 9:58
professionalBillWoodruff20-Apr-20 9:58 
AnswerRe: extending an Enum with a function that returns a generic value ? Pin
Richard Deeming20-Apr-20 10:34
mveRichard Deeming20-Apr-20 10:34 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
BillWoodruff20-Apr-20 12:56
professionalBillWoodruff20-Apr-20 12:56 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
BillWoodruff20-Apr-20 23:10
professionalBillWoodruff20-Apr-20 23:10 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
Richard Deeming21-Apr-20 1:01
mveRichard Deeming21-Apr-20 1:01 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
BillWoodruff21-Apr-20 5:30
professionalBillWoodruff21-Apr-20 5:30 
food for thought, thanks ! @RichardDeeming

today, i considered what it would mean to write a factory method to return a hard-coded converter ... what i came up with is rather monstrous Smile | :) but it works:
// sample call
var econverter = WeekDays.Default.MakeConverter<WeekDays>();

WeekDays wkd = econverter("monday", false);
can't say i see enduring value for such elaboration to achieve a limited result. i added a "Default" value to the Enum:
public static Func<string, bool, TEnum> MakeConverter<TEnum>(this Enum tenum)
    where TEnum : struct, IConvertible
{ 
    Type returntype = typeof(TEnum);

    if (!returntype.IsEnum)
        throw new ArgumentException("Return type must be an Enum type");

    Type argtype = tenum.GetType();

    if (! argtype.IsEnum)
        throw new ArgumentException("Type parameter must be an Enum type");

    if (argtype != returntype)
        throw new ArgumentException("Type and Return type must be the same");

    Func<string, bool, TEnum> xFunc = null;

    try
    {
        xFunc = (string str, bool ignorecase) =>
        {
            TEnum result;

            // note ignore case parameter
            if (Enum.TryParse<TEnum>(str, ignorecase, out result))
            {
                return result;
            }

            throw new ArgumentException(
                $"{str} is not a valid string for conversion to {typeof(TEnum).FullName}");
        };
    }
    catch (Exception ex)
    {
        throw new TypeInitializationException(typeof(TEnum).FullName, ex.InnerException);
    }

    return xFunc;
}

«One day it will have to be officially admitted that what we have christened reality is an even greater illusion than the world of dreams.» Salvador Dali

GeneralRe: extending an Enum with a function that returns a generic value ? Pin
Richard Deeming21-Apr-20 6:17
mveRichard Deeming21-Apr-20 6:17 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
BillWoodruff21-Apr-20 9:29
professionalBillWoodruff21-Apr-20 9:29 
AnswerRe: extending an Enum with a function that returns a generic value ? Pin
Matthew Dennis21-Apr-20 6:36
sysadminMatthew Dennis21-Apr-20 6:36 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
BillWoodruff21-Apr-20 9:27
professionalBillWoodruff21-Apr-20 9:27 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
Richard Deeming21-Apr-20 9:37
mveRichard Deeming21-Apr-20 9:37 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
BillWoodruff21-Apr-20 9:59
professionalBillWoodruff21-Apr-20 9:59 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
Matthew Dennis21-Apr-20 10:16
sysadminMatthew Dennis21-Apr-20 10:16 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
BillWoodruff21-Apr-20 21:57
professionalBillWoodruff21-Apr-20 21:57 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
Matthew Dennis22-Apr-20 5:35
sysadminMatthew Dennis22-Apr-20 5:35 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
BillWoodruff22-Apr-20 7:12
professionalBillWoodruff22-Apr-20 7:12 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
BillWoodruff21-Apr-20 22:53
professionalBillWoodruff21-Apr-20 22:53 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
Richard Deeming22-Apr-20 0:25
mveRichard Deeming22-Apr-20 0:25 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
BillWoodruff22-Apr-20 4:01
professionalBillWoodruff22-Apr-20 4:01 
AnswerRe: extending an Enum with a function that returns a generic value ? Pin
#realJSOP22-Apr-20 8:25
mve#realJSOP22-Apr-20 8:25 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
BillWoodruff22-Apr-20 8:39
professionalBillWoodruff22-Apr-20 8:39 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
#realJSOP22-Apr-20 8:47
mve#realJSOP22-Apr-20 8:47 
GeneralRe: extending an Enum with a function that returns a generic value ? Pin
BillWoodruff22-Apr-20 21:31
professionalBillWoodruff22-Apr-20 21:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.