Skip to content

Instantly share code, notes, and snippets.

@manoj-choudhari-git
Last active August 4, 2021 21:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save manoj-choudhari-git/cd75a45f94da5c9d7953f080663726fa to your computer and use it in GitHub Desktop.
Save manoj-choudhari-git/cd75a45f94da5c9d7953f080663726fa to your computer and use it in GitHub Desktop.
.NET - C# Features - Pass reference type as parameter
// Reference Type for Demo
public class Person
{
public int Age { get; set; }
public string Name { get; set; }
public override string ToString()
{
return $"{{ Age: {Age}, Name: {Name} }}";
}
}
// ReferenceTypeDemo.cs
public class ReferenceTypeDemo
{
public void Execute()
{
Person p = new Person();
p.Age = 25;
p.Name = "Sachin Tendulkar";
Console.WriteLine("----------------------------------------------------------------");
Console.WriteLine($"Inside Caller: Before ChangeDetails : Value: {p}");
ChangeDetails(p);
Console.WriteLine($"Inside Caller: After ChangeDetails : Value: {p}");
}
// Passed object is modified here
private void ChangeDetails(Person p)
{
p.Age = p.Age + 10;
p.Name = "Rahul Dravid";
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine($"Inside ChangeDetails: Value: {p}");
Console.ResetColor();
}
}
// Driver Class
class Program
{
static void Main(string[] args)
{
ReferenceTypeDemo referenceTypeDemo = new ReferenceTypeDemo();
referenceTypeDemo.Execute();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment