C# Property with Generic Type
.net, c#, generics
Solution
@bytenik I think the originator is asking that class3 be defined to contain a generic property. That way when he / she has a property from class1 or class2 which in this case is a string / int that class3's property could handle either case.
public class Class3<T>
{
public T Property3 {get;set;}
}
I think the intent is the poster wants to do this:
Class3.Property3 = Class2.Property2
I think the poster will need to cast it to type T for this to work though.
Look at the link that was posted for an example: Making a generic property
Here is what you can do:
namespace GenericSO
{
public class Class1
{
public int property1 { get;set;}
}
public class Class2<T>
{
public T property2 { get; set; }
}
class Program
{
static void Main(string[] args)
{
Class1 c1 = new Class1();
c1.property1 = 20;
Class2<int> c2 = new Class2<int>();
c2.property2 = c1.property1;
}
}
}
Notice how your template property2 gets the value of property1. You have to tell it what kind of generic.
Problem
I have a class: ``` public class class1 { public string Property1 {get;set;} public int Property2 {get;set;} } ``` Which will be instantiated: ``` var c = new class1(); c.Property1 = "blah"; c.Property2 = 666; ``` So bear with me (I am new to generics), I need another class with a property of a generic type so that Property1 or Property2 can be used to set Property3: ``` public class Class2 { public GenericType Property3 {get;set;} } ``` I want to be able to: ``` var c2 = new class2(); c2.Property3 = c1.Property2 // Any property of any type. ```