Click here to Skip to main content
15,887,135 members
Home / Discussions / C#
   

C#

 
Questionabstract, override and the Visual Studio Designer Pin
Dewald15-Feb-11 21:52
Dewald15-Feb-11 21:52 
AnswerRe: abstract, override and the Visual Studio Designer Pin
Luc Pattyn16-Feb-11 0:47
sitebuilderLuc Pattyn16-Feb-11 0:47 
JokeRe: abstract, override and the Visual Studio Designer Pin
Wayne Gaylard16-Feb-11 1:17
professionalWayne Gaylard16-Feb-11 1:17 
GeneralRe: abstract, override and the Visual Studio Designer Pin
Luc Pattyn16-Feb-11 1:57
sitebuilderLuc Pattyn16-Feb-11 1:57 
GeneralRe: abstract, override and the Visual Studio Designer Pin
Dewald16-Feb-11 1:56
Dewald16-Feb-11 1:56 
AnswerRe: abstract, override and the Visual Studio Designer Pin
Luc Pattyn16-Feb-11 2:04
sitebuilderLuc Pattyn16-Feb-11 2:04 
GeneralRe: abstract, override and the Visual Studio Designer Pin
Dewald16-Feb-11 2:37
Dewald16-Feb-11 2:37 
GeneralRe: abstract, override and the Visual Studio Designer Pin
Luc Pattyn16-Feb-11 2:51
sitebuilderLuc Pattyn16-Feb-11 2:51 
Not sure what the problem is.

In the following situation:
interface IMySpecialTabPageFunctionality {
    void Process();
}

class MyTabPage : TabPage, IMySpecialTabPageFunctionality {
    public void Process() {
        ...
    }
}

class MyApplication {
    IMySpecialTabPageFunctionality object1;
    TabPage tabPage2;
    MyTabPage tabPage3;
}

object1 is whatever object that implements all members of IMySpecialTabPageFunctionality; it may or may not be a TabPage, so you can't just call tabpage-specific functions on it.
tabPage2 is a regular tabpage, however you can't call Process() on it.
tabPage3 is a specialized tabpage, offering real tabpage functionality as well as the extra interface functions.

One of those is bound to offer what you want.

BTW: tabPage2 and tabPage3 can be designed with Visual Designer, object1 can't.

Furthermore, if you need multiple specializations with a common interface, this is what I would consider:
interface IMySpecialTabPageFunctionality {
    void Process();
}

class MyTabPage : TabPage, IMySpecialTabPageFunctionality {
    public virtual void Process() {
        ...
    }
}

class MySpecialTabPage1 : MyTabPage  {
    public override void Process() {...}
}

class MySpecialTabPage2 : MyTabPage  {
    public override void Process() {...}
}


Smile | :)
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.

GeneralRe: abstract, override and the Visual Studio Designer Pin
Dewald16-Feb-11 4:05
Dewald16-Feb-11 4:05 
AnswerRe: abstract, override and the Visual Studio Designer Pin
PIEBALDconsult16-Feb-11 1:48
mvePIEBALDconsult16-Feb-11 1:48 
GeneralRe: abstract, override and the Visual Studio Designer Pin
Dewald16-Feb-11 2:02
Dewald16-Feb-11 2:02 
QuestionWrite contents of dataset into email Pin
<<Tash18>>15-Feb-11 18:56
<<Tash18>>15-Feb-11 18:56 
AnswerRe: Write contents of dataset into email Pin
Hum Dum15-Feb-11 20:07
Hum Dum15-Feb-11 20:07 
GeneralRe: Write contents of dataset into email Pin
<<Tash18>>15-Feb-11 20:13
<<Tash18>>15-Feb-11 20:13 
GeneralRe: Write contents of dataset into email Pin
Hum Dum15-Feb-11 20:15
Hum Dum15-Feb-11 20:15 
GeneralRe: Write contents of dataset into email Pin
<<Tash18>>15-Feb-11 20:27
<<Tash18>>15-Feb-11 20:27 
GeneralRe: Write contents of dataset into email Pin
<<Tash18>>15-Feb-11 21:39
<<Tash18>>15-Feb-11 21:39 
GeneralRe: Write contents of dataset into email Pin
Hum Dum15-Feb-11 21:55
Hum Dum15-Feb-11 21:55 
AnswerRe: Write contents of dataset into email Pin
Luc Pattyn16-Feb-11 0:50
sitebuilderLuc Pattyn16-Feb-11 0:50 
AnswerRe: Write contents of dataset into email Pin
PIEBALDconsult16-Feb-11 1:51
mvePIEBALDconsult16-Feb-11 1:51 
Questionget relative path Pin
igalep13215-Feb-11 12:18
igalep13215-Feb-11 12:18 
AnswerRe: get relative path [modified] Pin
Luc Pattyn15-Feb-11 12:38
sitebuilderLuc Pattyn15-Feb-11 12:38 
GeneralRe: get relative path Pin
igalep13215-Feb-11 12:42
igalep13215-Feb-11 12:42 
GeneralRe: get relative path Pin
Dave Kreskowiak15-Feb-11 15:21
mveDave Kreskowiak15-Feb-11 15:21 
QuestionLINQ to Entities Pin
Tamimi - Code15-Feb-11 4:52
Tamimi - Code15-Feb-11 4:52 

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.