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.
@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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With