Click here to Skip to main content
16,014,759 members
Home / Discussions / C#
   

C#

 
GeneralRe: Ensure a parameter is not null Pin
CPallini13-May-08 5:43
mveCPallini13-May-08 5:43 
AnswerRe: Ensure a parameter is not null Pin
User 665813-May-08 7:25
User 665813-May-08 7:25 
AnswerRe: Ensure a parameter is not null Pin
Dave Sexton13-May-08 10:43
Dave Sexton13-May-08 10:43 
GeneralRe: Ensure a parameter is not null Pin
Vikram A Punathambekar13-May-08 19:06
Vikram A Punathambekar13-May-08 19:06 
AnswerRe: Ensure a parameter is not null Pin
Christian Graus13-May-08 11:45
protectorChristian Graus13-May-08 11:45 
GeneralRe: Ensure a parameter is not null Pin
Malcolm Smart13-May-08 12:35
Malcolm Smart13-May-08 12:35 
GeneralRe: Ensure a parameter is not null Pin
Christian Graus13-May-08 13:23
protectorChristian Graus13-May-08 13:23 
GeneralRe: Ensure a parameter is not null Pin
S. Senthil Kumar13-May-08 17:36
S. Senthil Kumar13-May-08 17:36 
Christian Graus wrote:
You have the ref keyword but it only works on value types. You can put 'ref' on a class param, but it makes no difference, it was a reference to start with


No, it does make a difference. If you pass a reference type with "ref", you are essentially passing a reference to the reference (something like a pointer to a pointer in C++). For example.
class A
{
   public int x;
}

void Method()
{
   A a = new A();
   M1(ref a);
   Console.WriteLine(a.x); // prints 1

   a = new A();
   M2(a);
   Console.WriteLine(a.x); // prints 0
}

void M1(ref A a)
{
   a = new A();
   a.x = 1;
}

void M2(A a)
{
  a = new A();
  a.x = 2;
}


M1 takes a by ref and therefore assigning to a changes the reference itself. M2 takes a by value, so changing a doesn't change the a in Method.

Regards
Senthil [MVP - Visual C#]
_____________________________
My Blog | My Articles | My Flickr | WinMacro

GeneralRe: Ensure a parameter is not null Pin
Vikram A Punathambekar13-May-08 19:08
Vikram A Punathambekar13-May-08 19:08 
GeneralRe: Ensure a parameter is not null Pin
Malcolm Smart13-May-08 21:24
Malcolm Smart13-May-08 21:24 
GeneralRe: Ensure a parameter is not null Pin
S. Senthil Kumar13-May-08 22:38
S. Senthil Kumar13-May-08 22:38 
GeneralRe: Ensure a parameter is not null Pin
Vikram A Punathambekar13-May-08 19:12
Vikram A Punathambekar13-May-08 19:12 
AnswerRe: Ensure a parameter is not null Pin
PIEBALDconsult13-May-08 13:23
mvePIEBALDconsult13-May-08 13:23 
QuestionApp.Config Sharing (sort of) Pin
#realJSOP13-May-08 5:17
professional#realJSOP13-May-08 5:17 
AnswerRe: App.Config Sharing (sort of) Pin
Miszou13-May-08 7:12
Miszou13-May-08 7:12 
GeneralRe: App.Config Sharing (sort of) Pin
#realJSOP13-May-08 8:31
professional#realJSOP13-May-08 8:31 
GeneralRe: App.Config Sharing (sort of) Pin
Miszou13-May-08 9:04
Miszou13-May-08 9:04 
GeneralRe: App.Config Sharing (sort of) Pin
#realJSOP13-May-08 10:57
professional#realJSOP13-May-08 10:57 
GeneralRe: App.Config Sharing (sort of) Pin
Miszou14-May-08 6:45
Miszou14-May-08 6:45 
QuestionException Handling Pin
jchigg200013-May-08 5:13
jchigg200013-May-08 5:13 
AnswerRe: Exception Handling Pin
jchigg200013-May-08 5:43
jchigg200013-May-08 5:43 
QuestionMenuStrip -> Open new child form Pin
benjamin yap13-May-08 4:31
benjamin yap13-May-08 4:31 
AnswerRe: MenuStrip -> Open new child form Pin
Gareth H13-May-08 4:38
Gareth H13-May-08 4:38 
GeneralRe: MenuStrip -> Open new child form Pin
benjamin yap13-May-08 4:48
benjamin yap13-May-08 4:48 
GeneralRe: MenuStrip -> Open new child form Pin
Gareth H13-May-08 4:52
Gareth H13-May-08 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.