Click here to Skip to main content
15,905,504 members
Home / Discussions / C#
   

C#

 
GeneralRe: Min and Max or Range Pin
#realJSOP26-Mar-18 2:10
professional#realJSOP26-Mar-18 2:10 
AnswerRe: Min and Max or Range Pin
MadMyche26-Mar-18 6:26
professionalMadMyche26-Mar-18 6:26 
Questionasync using linq Pin
Member 1347859921-Mar-18 20:42
Member 1347859921-Mar-18 20:42 
AnswerRe: async using linq Pin
Pete O'Hanlon21-Mar-18 22:01
mvePete O'Hanlon21-Mar-18 22:01 
GeneralRe: async using linq Pin
Member 1347859921-Mar-18 22:07
Member 1347859921-Mar-18 22:07 
GeneralRe: async using linq Pin
Pete O'Hanlon21-Mar-18 23:14
mvePete O'Hanlon21-Mar-18 23:14 
GeneralRe: async using linq Pin
Member 1347859922-Mar-18 1:04
Member 1347859922-Mar-18 1:04 
AnswerRe: async using linq Pin
Gerry Schmitz22-Mar-18 9:09
mveGerry Schmitz22-Mar-18 9:09 
GeneralRe: async using linq Pin
Member 1347859922-Mar-18 20:03
Member 1347859922-Mar-18 20:03 
QuestionC# listbox Pin
Member 1373977821-Mar-18 14:42
Member 1373977821-Mar-18 14:42 
QuestionRe: C# listbox Pin
Member 1373977821-Mar-18 15:00
Member 1373977821-Mar-18 15:00 
AnswerRe: C# listbox Pin
BillWoodruff21-Mar-18 17:45
professionalBillWoodruff21-Mar-18 17:45 
GeneralRe: C# listbox Pin
Member 1373977821-Mar-18 18:01
Member 1373977821-Mar-18 18:01 
GeneralRe: C# listbox Pin
BillWoodruff21-Mar-18 18:36
professionalBillWoodruff21-Mar-18 18:36 
GeneralRe: C# listbox Pin
Richard MacCutchan21-Mar-18 22:30
mveRichard MacCutchan21-Mar-18 22:30 
AnswerRe: C# listbox Pin
Gerry Schmitz22-Mar-18 8:48
mveGerry Schmitz22-Mar-18 8:48 
QuestionBuilding Biometeric Application Pin
Member 1351208221-Mar-18 5:37
Member 1351208221-Mar-18 5:37 
AnswerRe: Building Biometeric Application Pin
OriginalGriff21-Mar-18 6:47
mveOriginalGriff21-Mar-18 6:47 
AnswerRe: Building Biometeric Application Pin
Gerry Schmitz22-Mar-18 6:15
mveGerry Schmitz22-Mar-18 6:15 
Questiongeneralizing a function to operate on any type with operator * defined Pin
Alexander Kindel20-Mar-18 13:16
Alexander Kindel20-Mar-18 13:16 
AnswerRe: generalizing a function to operate on any type with operator * defined Pin
Alexander Kindel20-Mar-18 14:52
Alexander Kindel20-Mar-18 14:52 
AnswerRe: generalizing a function to operate on any type with operator * defined Pin
BillWoodruff21-Mar-18 18:34
professionalBillWoodruff21-Mar-18 18:34 
See if this givs you some ideas:
public static class GenericMathExtensions
{
    public static double? Exp<T>(this T tvalue, double topower)
    where T : 
        struct, 
        IComparable, 
        IComparable<T>, 
        IConvertible, 
        IEquatable<T>, 
        IFormattable
    {
        if (typeof(T).IsNumeric())
        {
            try
            {
                return Math.Pow(Convert.ToDouble(tvalue), topower);
            }
            catch
            {
                 // throw invalid cast exception ?
            }
        }

        return null;
    }

    // based on:
    // https://stackoverflow.com/a/13179018/133321
    public static bool IsNumeric(this Type type)
    {
        switch (Type.GetTypeCode(type))
        {
            case TypeCode.Byte:
            case TypeCode.SByte:
            case TypeCode.UInt16:
            case TypeCode.UInt32:
            case TypeCode.UInt64:
            case TypeCode.Int16:
            case TypeCode.Int32:
            case TypeCode.Int64:
            case TypeCode.Decimal:
            case TypeCode.Double:
            case TypeCode.Single:
                return true;
            case TypeCode.Object:
                if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>))
                {
                    return Nullable.GetUnderlyingType(type).IsNumeric();
                    //return IsNumeric(Nullable.GetUnderlyingType(type));
                }
                return false;
            default:
                return false;
        }
    }
}
Note: the Convert.ToDouble method can handle other types than those this code restricts the usage to.
«... thank the gods that they have made you superior to those events which they have not placed within your own control, rendered you accountable for that only which is within you own control For what, then, have they made you responsible? For that which is alone in your own power—a right use of things as they appear.» Discourses of Epictetus Book I:12

QuestionMessage Removed Pin
20-Mar-18 3:37
Member 1373673020-Mar-18 3:37 
Questioni want to create a chat application without the need of a server Pin
Ma Lek20-Mar-18 0:09
Ma Lek20-Mar-18 0:09 
AnswerRe: i want to create a chat application without the need of a server Pin
OriginalGriff20-Mar-18 0:26
mveOriginalGriff20-Mar-18 0:26 

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.