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

C#

 
QuestionWinform Change Label Text from secondary form action Pin
Derek Kennard9-Oct-14 1:56
professionalDerek Kennard9-Oct-14 1:56 
AnswerRe: Winform Change Label Text from secondary form action Pin
BillWoodruff9-Oct-14 3:00
professionalBillWoodruff9-Oct-14 3:00 
GeneralRe: Winform Change Label Text from secondary form action Pin
Derek Kennard9-Oct-14 15:28
professionalDerek Kennard9-Oct-14 15:28 
QuestionMake Cell Read Only after clicking the Cell in DataGridView Pin
avisharma@sharma9-Oct-14 1:28
avisharma@sharma9-Oct-14 1:28 
AnswerRe: Make Cell Read Only after clicking the Cell in DataGridView Pin
Simon_Whale9-Oct-14 1:36
Simon_Whale9-Oct-14 1:36 
GeneralRe: Make Cell Read Only after clicking the Cell in DataGridView Pin
avisharma@sharma9-Oct-14 2:05
avisharma@sharma9-Oct-14 2:05 
Questionusing "naked" Action/Func as EventHandlers ? C# language question PinPopular
BillWoodruff9-Oct-14 1:07
professionalBillWoodruff9-Oct-14 1:07 
AnswerRe: using "naked" Action/Func as EventHandlers ? C# language question Pin
Eddy Vluggen9-Oct-14 9:04
professionalEddy Vluggen9-Oct-14 9:04 
BillWoodruff wrote:
Using them "raw," without the usual business/ceremony
A multicast delegate* as a field (not focussing on it not residing in the class where the event is being invoked)

Let me first defend the event-pattern, that's easier; there's always a sender - it's an object, so there's no excuse for passing "null" there. Makes tracing stuff a lot easier. There's also probably a need for a list of parameters, but one can pass those as an object;
C#
class MyArgs: EventArgs
{
  public string Str1 {get;set;}
  public string Str2 {get;set;}
}
It is a clean and predictable pattern, which inherits nicely Smile | :)

"Clean" means that there's no 360-column list of arguments, but two - an object, and args (one with mayhaps 360 members).

BillWoodruff wrote:
If you think such usage of Action and Func are very bad things, why ?
Depends on where you do it, and why. If it has an advantage over other constructs, then it is automatically good.

Change the code to bind nothing to the field of the generic object, and run it. The field is called while being null. That could be bad, but without context that is hard to judge. The section on Events[^] also adds that it is thread-safe if there's more than one delegate bound to the invocation list.

MSDN magazine[^] has a good explanation on why there's more code in the pattern than in a raw delegate, and why. If for your class the "why" does not apply, then you have a good argumentation.

BillWoodruff wrote:
Of course, if you assign an anonymous method as an EventHandler, you are
never going to be able to remove it from the delegate's method dispatch queue
If you put your method in a delegate (say, a local variable or a field), and then bind it, you can also unbind it again using that reference. You can verify that by invoking the GetInvocationList[^] method on the delegate-field (of the generic object).

*) "Delegates with more than one method in their invocation list derive from MulticastDelegate, which is a subclass of System.Delegate", from MSDN[^].
Bastard Programmer from Hell Suspicious | :suss:
If you can't read my code, try converting it here[^]

GeneralRe: using "naked" Action/Func as EventHandlers ? C# language question Pin
BillWoodruff9-Oct-14 11:13
professionalBillWoodruff9-Oct-14 11:13 
GeneralRe: using "naked" Action/Func as EventHandlers ? C# language question Pin
Eddy Vluggen10-Oct-14 7:38
professionalEddy Vluggen10-Oct-14 7:38 
GeneralRe: using "naked" Action/Func as EventHandlers ? C# language question Pin
Richard Deeming9-Oct-14 22:20
mveRichard Deeming9-Oct-14 22:20 
GeneralRe: using "naked" Action/Func as EventHandlers ? C# language question Pin
Eddy Vluggen10-Oct-14 7:50
professionalEddy Vluggen10-Oct-14 7:50 
AnswerRe: using "naked" Action/Func as EventHandlers ? C# language question Pin
Nicholas Marty10-Oct-14 5:24
professionalNicholas Marty10-Oct-14 5:24 
GeneralRe: using "naked" Action/Func as EventHandlers ? C# language question Pin
BillWoodruff10-Oct-14 11:23
professionalBillWoodruff10-Oct-14 11:23 
GeneralRe: using "naked" Action/Func as EventHandlers ? C# language question Pin
Nicholas Marty13-Oct-14 1:13
professionalNicholas Marty13-Oct-14 1:13 
GeneralRe: using "naked" Action/Func as EventHandlers ? C# language question Pin
BillWoodruff13-Oct-14 1:34
professionalBillWoodruff13-Oct-14 1:34 
GeneralRe: using "naked" Action/Func as EventHandlers ? C# language question Pin
Nicholas Marty13-Oct-14 2:17
professionalNicholas Marty13-Oct-14 2:17 
QuestionTransaction in active directory Pin
Nitin K8-Oct-14 23:21
Nitin K8-Oct-14 23:21 
AnswerRe: Transaction in active directory Pin
Eddy Vluggen9-Oct-14 0:30
professionalEddy Vluggen9-Oct-14 0:30 
QuestionHow to make custom pagination when use grid view in c# Pin
heyvid8-Oct-14 21:10
heyvid8-Oct-14 21:10 
AnswerRe: How to make custom pagination when use grid view in c# Pin
Richard MacCutchan8-Oct-14 21:42
mveRichard MacCutchan8-Oct-14 21:42 
AnswerRe: How to make custom pagination when use grid view in c# Pin
Maciej Los9-Oct-14 10:56
mveMaciej Los9-Oct-14 10:56 
GeneralHow to Create task bar in c# windows app Pin
Srikanth598-Oct-14 3:51
Srikanth598-Oct-14 3:51 
GeneralRe: How to Create task bar in c# windows app Pin
DaveAuld8-Oct-14 3:58
professionalDaveAuld8-Oct-14 3:58 
JokeRe: How to Create task bar in c# windows app Pin
Duncan Edwards Jones8-Oct-14 4:04
professionalDuncan Edwards Jones8-Oct-14 4:04 

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.