Destiser
Legacy Member
Hallo,
even schetsen: Ik heb een third-party dll waarin een constructor-loze klasse zit. Laten we deze klasse: 3rdClass noemen.
Ik heb een method DoSomething(3rdClass item) die properties van item gebruikt. Doordat 3rdClass constructorloos is vragen jullie je waarschijnlijk af, hoe kom je dan aan objecten van 3rdClass? Well daarvoor heb ik een 3rdClass2 met een method die me een verzameling teruggeeft van 3rdClass objecten.
Nu, in mijn programma is het nodig om toch zelf objecten van 3rdClass te maken, daarom heb ik mijn eigen klasse geschreven, MyClass, die exact dezelfde properties heeft als die van 3rdClass. Ik had eerst geprobeerd om MyClass te laten erven van 3rdClass, maar omdat 3rdClass geen constructor heeft kan ik dus ook geen constructor maken in MyClass.
3rdClass implementeert geen interfaces, dus kan ik ook geen interfaces implementeren in MyClass.
Hopelijk zijde nog mee
nu heb ik natuurlijk een method DoSomething(MyClass item) die voor 100%, maar echt krak hetzelfde doet als DoSomething(3rdClass item).
Wat ik nu wil bereiken: Ik wil die methods combineren tot 1 method zodat ik eventuele aanpassingen niet altijd dubbel hoef uit te voeren. Maar hoe doe ik dit? Ik kan geen interface als parameter declareren want er is er geen. En mits ik niet aan de source van die 3rdClass kan, kan ik daar ook geen constructor of interface aan koppelen.
Wat ik zelf dacht is: Ik kan een DoSomething(object item) maken, en dan zal die method zowel 3rdClass als MyClass objecten accepteren, maar hoe raak ik dan aan hun properties? Een extra moeilijkheid is dat een bepaalde propertie van deze twee klasses objecten teruggeeft van het type van de klasse zelf, en die heb ik dan ook nodig:
even demonstreren:
De ultieme vraag: is er een manier om van die twee methods, die compleet verschillende parameters, maar met dezelfde properties, vragen in 1 method steken?
Hopelijk was ik duidelijk, 'k vind het zelf nogal ambetant om uit te leggen
Merci!
even schetsen: Ik heb een third-party dll waarin een constructor-loze klasse zit. Laten we deze klasse: 3rdClass noemen.
Ik heb een method DoSomething(3rdClass item) die properties van item gebruikt. Doordat 3rdClass constructorloos is vragen jullie je waarschijnlijk af, hoe kom je dan aan objecten van 3rdClass? Well daarvoor heb ik een 3rdClass2 met een method die me een verzameling teruggeeft van 3rdClass objecten.
Nu, in mijn programma is het nodig om toch zelf objecten van 3rdClass te maken, daarom heb ik mijn eigen klasse geschreven, MyClass, die exact dezelfde properties heeft als die van 3rdClass. Ik had eerst geprobeerd om MyClass te laten erven van 3rdClass, maar omdat 3rdClass geen constructor heeft kan ik dus ook geen constructor maken in MyClass.
3rdClass implementeert geen interfaces, dus kan ik ook geen interfaces implementeren in MyClass.
Hopelijk zijde nog mee
nu heb ik natuurlijk een method DoSomething(MyClass item) die voor 100%, maar echt krak hetzelfde doet als DoSomething(3rdClass item).Wat ik nu wil bereiken: Ik wil die methods combineren tot 1 method zodat ik eventuele aanpassingen niet altijd dubbel hoef uit te voeren. Maar hoe doe ik dit? Ik kan geen interface als parameter declareren want er is er geen. En mits ik niet aan de source van die 3rdClass kan, kan ik daar ook geen constructor of interface aan koppelen.
Wat ik zelf dacht is: Ik kan een DoSomething(object item) maken, en dan zal die method zowel 3rdClass als MyClass objecten accepteren, maar hoe raak ik dan aan hun properties? Een extra moeilijkheid is dat een bepaalde propertie van deze twee klasses objecten teruggeeft van het type van de klasse zelf, en die heb ik dan ook nodig:
even demonstreren:
Code:
public void DoSomething(3rdClass item)
{
label.text = item.Propertie1;
3rdClass child = item.FirstChild;
//More code, code above is bullshit but shows what I need
}
public void DoSomething(MyClass item)
{
label.text = item.Propertie1;
MyClass child = item.FirstChild;
//More code, code above is bullshit but shows what I need
}
De ultieme vraag: is er een manier om van die twee methods, die compleet verschillende parameters, maar met dezelfde properties, vragen in 1 method steken?
Hopelijk was ik duidelijk, 'k vind het zelf nogal ambetant om uit te leggen
Merci!