Click here to Skip to main content
15,896,154 members
Home / Discussions / C#
   

C#

 
GeneralRe: WndProc related issue in win apps c# Pin
Eddy Vluggen25-Apr-14 3:27
professionalEddy Vluggen25-Apr-14 3:27 
GeneralRe: WndProc related issue in win apps c# Pin
Tridip Bhattacharjee27-Apr-14 20:42
professionalTridip Bhattacharjee27-Apr-14 20:42 
QuestionC# DATAGRIDVIEW CELL EDIT Pin
mubasit23-Apr-14 19:58
mubasit23-Apr-14 19:58 
AnswerRe: C# DATAGRIDVIEW CELL EDIT Pin
Eddy Vluggen23-Apr-14 21:52
professionalEddy Vluggen23-Apr-14 21:52 
QuestionGetting value of SHDocVw.InternetExplorer Pin
Kaveh Yazdi Nezhad23-Apr-14 17:34
Kaveh Yazdi Nezhad23-Apr-14 17:34 
AnswerRe: Getting value of SHDocVw.InternetExplorer Pin
Bernhard Hiller23-Apr-14 22:18
Bernhard Hiller23-Apr-14 22:18 
AnswerRe: Getting value of SHDocVw.InternetExplorer Pin
Kaveh Yazdi Nezhad26-Apr-14 6:23
Kaveh Yazdi Nezhad26-Apr-14 6:23 
QuestionHow to Collect Microsoft Remote Connectivity Analyzer Results Pin
lesponce23-Apr-14 15:51
lesponce23-Apr-14 15:51 
AnswerRe: How to Collect Microsoft Remote Connectivity Analyzer Results Pin
Eddy Vluggen23-Apr-14 22:43
professionalEddy Vluggen23-Apr-14 22:43 
QuestionHow to add Outlook toolbar under the subject line in C# add-in? Pin
Artem Moroz23-Apr-14 12:46
Artem Moroz23-Apr-14 12:46 
AnswerRe: How to add Outlook toolbar under the subject line in C# add-in? Pin
Eddy Vluggen23-Apr-14 22:45
professionalEddy Vluggen23-Apr-14 22:45 
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 

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.