Click here to Skip to main content
15,894,313 members
Home / Discussions / C#
   

C#

 
GeneralRe: Skype in C# Pin
Kevin Marois31-May-13 12:28
professionalKevin Marois31-May-13 12:28 
QuestionGeneric and Inheritance issue Pin
Revolty31-May-13 11:27
Revolty31-May-13 11:27 
AnswerRe: Generic and Inheritance issue Pin
Ron Beyer31-May-13 12:02
professionalRon Beyer31-May-13 12:02 
GeneralRe: Generic and Inheritance issue Pin
Revolty31-May-13 12:52
Revolty31-May-13 12:52 
GeneralRe: Generic and Inheritance issue Pin
Revolty31-May-13 13:18
Revolty31-May-13 13:18 
AnswerRe: Generic and Inheritance issue Pin
Bernhard Hiller2-Jun-13 22:38
Bernhard Hiller2-Jun-13 22:38 
GeneralRe: Generic and Inheritance issue Pin
Revolty3-Jun-13 11:46
Revolty3-Jun-13 11:46 
AnswerRe: Generic and Inheritance issue Pin
Keld Ølykke3-Jun-13 20:10
Keld Ølykke3-Jun-13 20:10 
Hi,

You could do it with generics in the following way:
C#
public interface IMedia
{
}
public interface IAudio : IMedia
{
}
public interface IVideo : IAudio
{
}

public interface IMediaPlayer<T> where T : IMedia
{
    T Media
    {
        get;
    }
}

public interface IAudioPlayer<T> : IMediaPlayer<T> where T : IAudio
{
    // Media is IAudio
}

public interface IVideoPlayer<T> : IAudioPlayer<T> where T : IVideo
{
    // Media must be IVideo!
}

public class Class1
{
    public void Example()
    {
        IVideoPlayer<IVideo> videoPlayer = null;
        // not possible:
        //IVideoPlayer<IAudio> videoPlayerPlayingAudio = null;
        IAudioPlayer<IAudio> audioPlayer = null;
    }
}


The problem is that your video player can't be compiled against IVideo and use an audio player compiled against IAudio. Your video player and audio player need to be compiled against the same type.

I don't know what this issue with generics is called, but I always find that generics bread more generics.

Kind Regards,

Keld Ølykke
Question24 bit to 16 bit on the fly Pin
fachura31-May-13 4:49
fachura31-May-13 4:49 
AnswerRe: 24 bit to 16 bit on the fly Pin
Bernhard Hiller2-Jun-13 22:42
Bernhard Hiller2-Jun-13 22:42 
QuestionCalculate code complexity Pin
gastonbed30-May-13 22:49
gastonbed30-May-13 22:49 
QuestionRe: Calculate code complexity Pin
Eddy Vluggen30-May-13 23:40
professionalEddy Vluggen30-May-13 23:40 
AnswerRe: Calculate code complexity Pin
Alan Balkany31-May-13 4:56
Alan Balkany31-May-13 4:56 
GeneralRe: Calculate code complexity Pin
Eddy Vluggen31-May-13 6:25
professionalEddy Vluggen31-May-13 6:25 
GeneralRe: Calculate code complexity Pin
Alan Balkany31-May-13 9:33
Alan Balkany31-May-13 9:33 
GeneralRe: Calculate code complexity Pin
Eddy Vluggen31-May-13 11:01
professionalEddy Vluggen31-May-13 11:01 
QuestionProblem about menustrip in windows forms Pin
Arun kumar Gautam30-May-13 20:35
Arun kumar Gautam30-May-13 20:35 
AnswerRe: Problem about menustrip in windows forms Pin
Richard MacCutchan30-May-13 21:14
mveRichard MacCutchan30-May-13 21:14 
GeneralRe: Problem about menustrip in windows forms Pin
Arun kumar Gautam30-May-13 21:29
Arun kumar Gautam30-May-13 21:29 
GeneralRe: Problem about menustrip in windows forms Pin
Richard MacCutchan30-May-13 21:45
mveRichard MacCutchan30-May-13 21:45 
GeneralRe: Problem about menustrip in windows forms Pin
Arun kumar Gautam30-May-13 21:50
Arun kumar Gautam30-May-13 21:50 
GeneralRe: Problem about menustrip in windows forms Pin
Richard MacCutchan30-May-13 21:52
mveRichard MacCutchan30-May-13 21:52 
GeneralRe: Problem about menustrip in windows forms Pin
Arun kumar Gautam30-May-13 22:01
Arun kumar Gautam30-May-13 22:01 
GeneralRe: Problem about menustrip in windows forms Pin
Richard MacCutchan30-May-13 23:18
mveRichard MacCutchan30-May-13 23:18 
GeneralRe: Problem about menustrip in windows forms Pin
Arun kumar Gautam31-May-13 0:38
Arun kumar Gautam31-May-13 0:38 

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.