Я пытаюсь создать общий метод, когда мне нужно добавить некоторую строку в общий тип данных и создать экземпляр этой добавленной строки.Создать экземпляр для добавленной строки
Например: У меня есть два класса Object1, Объект2, Object3, Object4, .... Object100 и Object1Address, Object2Address, Object3Address, Object4Address, .... Object100Address
Сейчас у меня есть метод для каждого объекта, как MethodObject1(), MethodObject2(), MethodObject3(), MethodObject4()
MethodObject1()
{
Object1 object = new Object1();
Object1Address objectAddress = new Object1Address();
TestMethod();
}
MethodObject2()
{
Object2 object = new Object2();
Object2Address objectAddress = new Object2Address();
TestMethod();
}
MethodObject3()
{
Object3 object = new Object3();
Object3Address objectAddress = new Object3Address();
TestMethod();
}
MethodObject4()
{
Object4 object = new Object4();
Object4Address objectAddress = new Object4Address();
TestMethod();
}
.
.
.
MethodObject100()
{
Object100 object = new Object100();
Object100Address objectAddress = new Object100Address();
TestMethod();
}
Но есть около 100 объектов, поэтому мне нужно создать 100 методов аналогичным образом. Так что я думал о создании универсального метода.
There is a method which returns only the an array of Object name from an XML file.
Eg: ObjectName[] objectName = GetObjects(); // Returns an array of Object Names from XML file so that
objectName[0] = Object1;
objectName[1] = Object2;
objectName[2] = Object3;
objectNmae[3] = Object4;
.
.
.
objectName[99] = Object100;
I am looping through objectName array
foreach(var objectItem in objectName)
{
MethodName<objectItem>();
}
In my generic method I can create an instance of object, like
MethodName<T>()
{
T t = new T();
Some how I have to get the name of T and append Address to T
So that I can create TAddress instance like
TAddress tAddress = new TAddress();
}
Есть ли способ, которым я могу это сделать, используя C sharp?
Зачем вам нужен общий метод, если вы используете 'Person'? Если вам нужно, чтобы он был общим, какие сходства между разными классами вы собираетесь пройти? – Oded
Что сказал Одед. Вы используете все, что связано с «Лицом» в универсальном методе. Это не путь. –
Если я правильно понимаю, вы хотите иметь два произвольных типа 'T' и' TAddress', а 'T' должен иметь метод, который принимает строку, создает' TAddress'? Просьба уточнить ваш вопрос относительно этого момента. –