Skip to content

Instantly share code, notes, and snippets.

@MirzaLeka
Last active September 21, 2023 22:22
Show Gist options
  • Save MirzaLeka/06e692d7e95bc88cf3ffb4698f5e3fec to your computer and use it in GitHub Desktop.
Save MirzaLeka/06e692d7e95bc88cf3ffb4698f5e3fec to your computer and use it in GitHub Desktop.
C# - Get Dynamic Response

Retrieve Dynamic Response in C#

Subclasses for different purposes:

class User {
	public string name;
  	public int age;
	public User() {
		this.name = "Mirza";
                this.age = 29;
	}
}

class Car {
	public string name;
	public Car() {
		this.name = "BMW";
	}
}

Method that toggles the response based on the condition (variant):

	public static dynamic GetDynamicResponse(string variant) {
		
		if (variant == "car") {
			return new Car();
		}
		return new User();
	}

The results:

		var carData = GetDynamicResponse("car") as Car;
		Console.WriteLine(carData.name); // BMW
		
		var userData = GetDynamicResponse("user") as User;
		Console.WriteLine(userData.name); // Mirza
		Console.WriteLine(userData.age); // 29

Full Code:

using System;
					
public class Program
{
	public static void Main()
	{
		var carData = GetDynamicResponse("car") as Car;
		Console.WriteLine(carData.name);
		
		var userData = GetDynamicResponse("user") as User;
		Console.WriteLine(userData.name);
		Console.WriteLine(userData.age);
	}
	
	public static dynamic GetDynamicResponse(string variant) {
		
		if (variant == "car") {
			return new Car();
		}
		return new User();
	}
}

class User {
	public string name;
  	public int age;
	public User() {
		this.name = "Mirza";
    	this.age = 29;
	}
}

class Car {
	public string name;
	public Car() {
		this.name = "BMW";
	}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment