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

C#

 
GeneralRe: How to add Outlook toolbar under the subject line in C# add-in? Pin
Artem Moroz26-Apr-14 8:56
Artem Moroz26-Apr-14 8:56 
QuestionHow to Open new Form when click on TreeNode? Pin
aahamdan23-Apr-14 10:10
aahamdan23-Apr-14 10:10 
AnswerRe: How to Open new Form when click on TreeNode? Pin
Mycroft Holmes23-Apr-14 12:56
professionalMycroft Holmes23-Apr-14 12:56 
GeneralRe: How to Open new Form when click on TreeNode? Pin
aahamdan23-Apr-14 22:23
aahamdan23-Apr-14 22:23 
AnswerRe: How to Open new Form when click on TreeNode? Pin
UGUR KIZILKAYA24-Apr-14 4:55
UGUR KIZILKAYA24-Apr-14 4:55 
AnswerRe: How to Open new Form when click on TreeNode? Pin
BillWoodruff25-Apr-14 20:17
professionalBillWoodruff25-Apr-14 20:17 
QuestionWeb API action null data on post when deployed to production Pin
Basilfa23-Apr-14 0:43
Basilfa23-Apr-14 0:43 
Question"Combined Type" - Generics - something else? Pin
Bernhard Hiller22-Apr-14 23:55
Bernhard Hiller22-Apr-14 23:55 
I feel like having lost my OO knowledge. Actually, the problem looks simple: I want to create a class which operates on an object which
- inherits from System.Windows.Forms.Form
- implements the interface IDescribedActionsProvider
at the same time.

I could create a new Form type
public abstract class SpecialForm : Form, IDescribedActionsProvider
and require a parameter of that SpecialForm type.

But it does not work here: most of our Forms inherit from OurCompanyForm which need not implement IDescribedActionsProvider, and some of our forms do not inherit therefrom, but when they implement the interface, they should be an acceptable parameter.
It is composition what is required here, not inheritance.

Then I thought of Generics. I could define my class like
C#
public class FormController<T> : IDisposable where T : Form, IDescribedActionsProvider
{
    T _ControlledForm;
    OtherType _OtherObject;

    internal FormController(OtherType otherObject, T controlledForm)
    {
        _OtherObject = otherObject;
        _ControlledForm = controlledForm;
        ....
    }

It would work the way I intended, but it feels totally wrong:
That's not what Generics (see MSDN[^]) were meant for.
And I get problems when I want to create that FormController object in a Factory (because of the OtherType which is created there) which is not generic, i.e. a function like
public FormController<T> CreateFormcontroller(T controlledForm)
is not possible because T not defined here... And using "SpecialForm" instead of T does not work because of composition vs. inheritance.

What do you suggest? "Duck Typing" - but that's not a good OO practise either?
QuestionRe: "Combined Type" - Generics - something else? Pin
Eddy Vluggen23-Apr-14 0:35
professionalEddy Vluggen23-Apr-14 0:35 
AnswerRe: "Combined Type" - Generics - something else? Pin
Bernhard Hiller23-Apr-14 0:54
Bernhard Hiller23-Apr-14 0:54 
AnswerRe: "Combined Type" - Generics - something else? PinPopular
Richard Deeming23-Apr-14 1:18
mveRichard Deeming23-Apr-14 1:18 
GeneralRe: "Combined Type" - Generics - something else? Pin
Bernhard Hiller23-Apr-14 2:28
Bernhard Hiller23-Apr-14 2:28 
Question"Configuration system failed to initialize" Pin
AshwiniSH22-Apr-14 23:32
professionalAshwiniSH22-Apr-14 23:32 
AnswerRe: "Configuration system failed to initialize" Pin
Bernhard Hiller22-Apr-14 23:56
Bernhard Hiller22-Apr-14 23:56 
GeneralRe: "Configuration system failed to initialize" Pin
AshwiniSH24-Apr-14 21:51
professionalAshwiniSH24-Apr-14 21:51 
Questionhow to use events using Base class Pin
Member 1034709222-Apr-14 15:44
Member 1034709222-Apr-14 15:44 
AnswerRe: how to use events using Base class Pin
Eddy Vluggen23-Apr-14 0:32
professionalEddy Vluggen23-Apr-14 0:32 
QuestionRe: how to use events using Base class Pin
Eddy Vluggen23-Apr-14 5:11
professionalEddy Vluggen23-Apr-14 5:11 
AnswerRe: how to use events using Base class Pin
Marco Bertschi23-Apr-14 5:40
protectorMarco Bertschi23-Apr-14 5:40 
QuestionRetaining index of an item Pin
Chris Copeland22-Apr-14 12:47
mveChris Copeland22-Apr-14 12:47 
AnswerRe: Retaining index of an item Pin
Ravi Bhavnani22-Apr-14 19:24
professionalRavi Bhavnani22-Apr-14 19:24 
GeneralRe: Retaining index of an item Pin
Chris Copeland22-Apr-14 23:11
mveChris Copeland22-Apr-14 23:11 
GeneralRe: Retaining index of an item Pin
Eddy Vluggen23-Apr-14 0:30
professionalEddy Vluggen23-Apr-14 0:30 
GeneralRe: Retaining index of an item Pin
Chris Copeland23-Apr-14 1:55
mveChris Copeland23-Apr-14 1:55 
GeneralRe: Retaining index of an item Pin
Ravi Bhavnani23-Apr-14 2:48
professionalRavi Bhavnani23-Apr-14 2:48 

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.