Click here to Skip to main content
15,914,943 members
Home / Discussions / C#
   

C#

 
GeneralRe: request.GetResponse() - The remote server returned an error: (403) Forbidden Pin
_Q12_5-Aug-19 19:17
_Q12_5-Aug-19 19:17 
GeneralRe: request.GetResponse() - The remote server returned an error: (403) Forbidden Pin
Dave Kreskowiak6-Aug-19 3:05
mveDave Kreskowiak6-Aug-19 3:05 
AnswerRe: request.GetResponse() - The remote server returned an error: (403) Forbidden Pin
Gerry Schmitz6-Aug-19 4:44
mveGerry Schmitz6-Aug-19 4:44 
QuestionSlight problem with my array program Pin
Member 129742354-Aug-19 12:51
Member 129742354-Aug-19 12:51 
AnswerRe: Slight problem with my array program Pin
Richard Andrew x644-Aug-19 13:06
professionalRichard Andrew x644-Aug-19 13:06 
AnswerRe: Slight problem with my array program Pin
OriginalGriff4-Aug-19 19:24
mveOriginalGriff4-Aug-19 19:24 
QuestionGenerics overload Pin
Bernhard Hiller2-Aug-19 0:13
Bernhard Hiller2-Aug-19 0:13 
AnswerRe: Generics overload Pin
Richard Deeming2-Aug-19 1:56
mveRichard Deeming2-Aug-19 1:56 
You can't overload a function based on the generic type constraints. And you can't add type constraints to a class-level type parameter just for one method.

What you can do is add the type parameter to the method instead of the class, and use a different function name.
C#
public static class StopWatch
{
    public static TimeSpan MeasureAction(Action _action)
    {
        Stopwatch watch = Stopwatch.StartNew();
        _action();
        watch.Stop();
        return watch.Elapsed;
    }
    
    public static IMeasuredExecution<T> MeasureFunction<T>(Func<T> _function)
    {
        Stopwatch watch = Stopwatch.StartNew();
        T result = _function();
        watch.Stop();
        return new MeasuredExecution<T>(watch.Elapsed, result);
    }
    
    public static IDisposableMeasuredExecution<T> MeasureFunctionDisposable<T>(Func<T> _function) where T : IDisposable
    {
        Stopwatch watch = Stopwatch.StartNew();
        T result = _function();
        watch.Stop();
        return new DisposableMeasuredExecution<T>(watch.Elapsed, result);
    }
}
Alternatively, you could make IMeasuredExecution<T> implement IDisposable so that you wouldn't need a separate method:
C#
public interface IMeasuredExecution<T> : IDisposable
{
    TimeSpan Duration { get; }
    T Result { get; }
}

internal class MeasuredExecution<T> : IMeasuredExecution<T>
{
    public MeasuredExecution(TimeSpan _duration, T _result)
    {
        Duration = _duration;
        Result = _result;
    }

    public TimeSpan Duration { get; }
    public T Result { get; }
    
    public void Dispose()
    {
        var value = Result as IDisposable;
        if (value != null) value.Dispose();
    }
}




"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer

GeneralRe: Generics overload Pin
Bernhard Hiller2-Aug-19 3:17
Bernhard Hiller2-Aug-19 3:17 
GeneralRe: Generics overload Pin
Richard Deeming2-Aug-19 3:38
mveRichard Deeming2-Aug-19 3:38 
GeneralRe: Generics overload Pin
Bernhard Hiller4-Aug-19 21:50
Bernhard Hiller4-Aug-19 21:50 
AnswerRe: Generics overload Pin
Gerry Schmitz2-Aug-19 5:36
mveGerry Schmitz2-Aug-19 5:36 
QuestionEmbedding resources with static directories Pin
Member 87627471-Aug-19 20:32
Member 87627471-Aug-19 20:32 
Questionadding double quote around variable add one backslash which causing issue Pin
Mou_kol31-Jul-19 5:54
Mou_kol31-Jul-19 5:54 
AnswerRe: adding double quote around variable add one backslash which causing issue Pin
OriginalGriff31-Jul-19 6:18
mveOriginalGriff31-Jul-19 6:18 
GeneralRe: adding double quote around variable add one backslash which causing issue Pin
Mou_kol31-Jul-19 21:25
Mou_kol31-Jul-19 21:25 
AnswerRe: adding double quote around variable add one backslash which causing issue Pin
Richard Deeming31-Jul-19 7:46
mveRichard Deeming31-Jul-19 7:46 
GeneralRe: adding double quote around variable add one backslash which causing issue Pin
Mou_kol31-Jul-19 21:30
Mou_kol31-Jul-19 21:30 
GeneralRe: adding double quote around variable add one backslash which causing issue Pin
Richard Deeming1-Aug-19 1:30
mveRichard Deeming1-Aug-19 1:30 
GeneralRe: adding double quote around variable add one backslash which causing issue Pin
Mou_kol1-Aug-19 5:44
Mou_kol1-Aug-19 5:44 
QuestionIs the "using" statement really a good idea? Pin
MSBassSinger30-Jul-19 7:19
professionalMSBassSinger30-Jul-19 7:19 
AnswerRe: Is the "using" statement really a good idea? Pin
Richard Deeming30-Jul-19 7:42
mveRichard Deeming30-Jul-19 7:42 
GeneralRe: Is the "using" statement really a good idea? Pin
MSBassSinger30-Jul-19 8:05
professionalMSBassSinger30-Jul-19 8:05 
GeneralRe: Is the "using" statement really a good idea? Pin
Richard Deeming30-Jul-19 8:15
mveRichard Deeming30-Jul-19 8:15 
GeneralRe: Is the "using" statement really a good idea? Pin
MSBassSinger30-Jul-19 8:26
professionalMSBassSinger30-Jul-19 8: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.