Click here to Skip to main content
15,922,419 members
Home / Discussions / C#
   

C#

 
AnswerRe: Enum Question Pin
jschell18-Dec-12 8:07
jschell18-Dec-12 8:07 
GeneralRe: Enum Question Pin
Kevin Marois18-Dec-12 8:09
professionalKevin Marois18-Dec-12 8:09 
GeneralRe: Enum Question Pin
Richard Deeming18-Dec-12 8:15
mveRichard Deeming18-Dec-12 8:15 
GeneralRe: Enum Question Pin
Kevin Marois18-Dec-12 8:22
professionalKevin Marois18-Dec-12 8:22 
GeneralRe: Enum Question Pin
Pete O'Hanlon18-Dec-12 8:39
mvePete O'Hanlon18-Dec-12 8:39 
AnswerRe: Enum Question Pin
Richard Deeming18-Dec-12 8:47
mveRichard Deeming18-Dec-12 8:47 
GeneralRe: Enum Question Pin
PIEBALDconsult18-Dec-12 10:37
mvePIEBALDconsult18-Dec-12 10:37 
AnswerRe: Enum Question Pin
OriginalGriff18-Dec-12 8:14
mveOriginalGriff18-Dec-12 8:14 
GeneralRe: Enum Question Pin
Kevin Marois18-Dec-12 8:17
professionalKevin Marois18-Dec-12 8:17 
GeneralRe: Enum Question Pin
OriginalGriff18-Dec-12 8:40
mveOriginalGriff18-Dec-12 8:40 
GeneralRe: Enum Question Pin
Kevin Marois18-Dec-12 8:42
professionalKevin Marois18-Dec-12 8:42 
GeneralRe: Enum Question Pin
OriginalGriff18-Dec-12 8:49
mveOriginalGriff18-Dec-12 8:49 
AnswerRe: Enum Question Pin
Richard Deeming18-Dec-12 8:53
mveRichard Deeming18-Dec-12 8:53 
GeneralRe: Enum Question Pin
SledgeHammer0118-Dec-12 10:37
SledgeHammer0118-Dec-12 10:37 
AnswerRe: Enum Question Pin
DaveyM6918-Dec-12 9:37
professionalDaveyM6918-Dec-12 9:37 
GeneralRe: Enum Question Pin
PIEBALDconsult18-Dec-12 10:43
mvePIEBALDconsult18-Dec-12 10:43 
QuestionVsIntegrationPackage: Debugging does not reload .vsct file Pin
Member 802402518-Dec-12 4:16
Member 802402518-Dec-12 4:16 
QuestionHow to shwo the values in radiobuttons and labels which are reside inside a single column of gridview Pin
Arun kumar Gautam18-Dec-12 1:47
Arun kumar Gautam18-Dec-12 1:47 
AnswerRe: How to shwo the values in radiobuttons and labels which are reside inside a single column of gridview Pin
Richard MacCutchan18-Dec-12 7:11
mveRichard MacCutchan18-Dec-12 7:11 
QuestionReflection question (for <= .NET 3.5) Pin
MarkB77718-Dec-12 0:24
MarkB77718-Dec-12 0:24 
Hey guys,

Long story short:

I have a number of classes that are structured like this:
C#
class ClassA
{
    [WantToCopy]
    public Property1 { get; set; }
    public Property2 { get; set; } // ...
}

class ClassB : ClassA
{
    public Property1 { get; set; }
    public Property2 { get; set; } // ...
}

class ClassC
{
    public ClassB { get; set; }
    public Property1 { get; set; }
    public Property2 { get; set; } // ...
}


I am trying copy the ClassA values (marked with a specific attribute) from an instance of ClassB to a new instance of ClassA.

This is what I am doing:

C#
T resp = GetClassC(); // get a pretend instance of ClassC

var types = resp.GetType().GetProperties();
foreach (var type in types)
{
    // I use this to figure out if the field in ClassC == ClassB
    if(type.PropertyType.IsSubclassOf(this.GetType()))
    {
        // I use this custom method to get the properties in ClassA that have the 
        // attribute mentioned above
        List<PropertyInfo> fields = GetFields(type.PropertyType);
        foreach (var field in fields)
        {
            // here is the problem!
            var value = field.GetValue(resp , null); // resp is ClassC
            field.SetValue(this, value , null); // 'this' is ClassA
        }
    }
}


The problem is I get a TargetException when I try and get a ClassA value from a ClassC instance (which makes sense).

ClassC is a generic type. I don't know anything about the ClassB member.

Does anyone have any tricks that could help me out here? Or will I have to use an interface?

P.S I am keen to keep this code to <= .NET 3.5 if possible.

Thank you,
Mark
Mark Brock
"We're definitely not going to make a G or a PG version of this. It's not PillowfightCraft." -- Chris Metzen

AnswerRe: Reflection question (for <= .NET 3.5) Pin
Richard Deeming18-Dec-12 1:39
mveRichard Deeming18-Dec-12 1:39 
GeneralRe: Reflection question (for <= .NET 3.5) Pin
MarkB77718-Dec-12 8:50
MarkB77718-Dec-12 8:50 
AnswerRe: Reflection question (for <= .NET 3.5) Pin
PIEBALDconsult18-Dec-12 5:17
mvePIEBALDconsult18-Dec-12 5:17 
GeneralRe: Reflection question (for <= .NET 3.5) Pin
MarkB77718-Dec-12 8:53
MarkB77718-Dec-12 8:53 
Questioncrystalreport Pin
mehdi jan17-Dec-12 19:26
mehdi jan17-Dec-12 19:26 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.