Click here to Skip to main content
15,346,249 members
Home / Discussions / C#
   

C#

 
AnswerRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
OriginalGriff11-May-22 2:15
mveOriginalGriff11-May-22 2:15 
GeneralRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
BillWoodruff11-May-22 3:29
mveBillWoodruff11-May-22 3:29 
GeneralRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
Richard Deeming11-May-22 6:16
mveRichard Deeming11-May-22 6:16 
GeneralRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
BillWoodruff11-May-22 17:20
mveBillWoodruff11-May-22 17:20 
GeneralRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
Richard Deeming11-May-22 21:37
mveRichard Deeming11-May-22 21:37 
GeneralRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
BillWoodruff11-May-22 23:33
mveBillWoodruff11-May-22 23:33 
GeneralRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
Richard Deeming12-May-22 0:19
mveRichard Deeming12-May-22 0:19 
GeneralRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
BillWoodruff12-May-22 1:12
mveBillWoodruff12-May-22 1:12 
Richard Deeming wrote:
prevent the user from creating new types that implement the interface outside of your assembly?
That is a very logical next step, but this example is limited to only preventing use of the OuterClass' collections,

In this example, the end user is free to create as many Dogs and Cats as they can afford Smile | :)

p.s. the code gets more interesting when you define an encapsulated instantiator like this:
// in OuterClass1
internal T NewInstance<T>(params object[] args)
    where T : class, ISomething1
{
    var ttype = typeof(T);

    ISomething1 instance = null;

    instance = (T) Activator.CreateInstance(ttype, args);

    Somethings.Add(instance);

    return (T) instance;
}
Which is, of course, only one way to handle instantiation; I tend to avoid 'Activator.CreateInstance for reasons I am sure you are aware of.

Returning to the "big picture:" what strategies do you use to increase the encapsulation of classes that maintain collections of mixed types ?

cheers, Bill
«The mind is not a vessel to be filled but a fire to be kindled» Plutarch

GeneralRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
Richard Deeming12-May-22 2:18
mveRichard Deeming12-May-22 2:18 
GeneralRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
BillWoodruff12-May-22 2:32
mveBillWoodruff12-May-22 2:32 
AnswerRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
Richard MacCutchan11-May-22 3:19
mveRichard MacCutchan11-May-22 3:19 
GeneralRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
BillWoodruff11-May-22 3:50
mveBillWoodruff11-May-22 3:50 
GeneralRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
harold aptroot11-May-22 10:28
Memberharold aptroot11-May-22 10:28 
GeneralRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
BillWoodruff11-May-22 17:34
mveBillWoodruff11-May-22 17:34 
GeneralRe: "interface hack" to make private nested class instances available to outer class methods ? Pin
BillWoodruff12-May-22 1:14
mveBillWoodruff12-May-22 1:14 
QuestionToast notification Collections crash when initializing. Pin
Maximilien9-May-22 3:12
MemberMaximilien9-May-22 3:12 
AnswerRe: Toast notification Collections crash when initializing. Pin
Gerry Schmitz9-May-22 8:26
mveGerry Schmitz9-May-22 8:26 
GeneralRe: Toast notification Collections crash when initializing. Pin
Maximilien10-May-22 2:12
MemberMaximilien10-May-22 2:12 
GeneralRe: Toast notification Collections crash when initializing. Pin
Gerry Schmitz10-May-22 7:36
mveGerry Schmitz10-May-22 7:36 
GeneralRe: Toast notification Collections crash when initializing. Pin
Maximilien10-May-22 7:59
MemberMaximilien10-May-22 7:59 
GeneralRe: Toast notification Collections crash when initializing. Pin
Gerry Schmitz10-May-22 9:30
mveGerry Schmitz10-May-22 9:30 
GeneralRe: Toast notification Collections crash when initializing. Pin
Maximilien11-May-22 2:43
MemberMaximilien11-May-22 2:43 
SuggestionRe: Toast notification Collections crash when initializing. Pin
Richard Deeming9-May-22 22:00
mveRichard Deeming9-May-22 22:00 
GeneralRe: Toast notification Collections crash when initializing. Pin
Maximilien10-May-22 2:12
MemberMaximilien10-May-22 2:12 
QuestionAccess of simple activex component with only one method created in .net (using vb.net/c#) from child object created using window.open causes Catastrophic failure. Pin
Satheesh N9-May-22 2:13
professionalSatheesh N9-May-22 2:13 

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.