I am new to C# and need to perform a certain task using Reflection.
The thing is like this: I have a class called Derived which derives form a class called Base. Within the Base class I have another public class, which is a property called Prop class. Within the Prop class , there is a public property of type String called propString. Both Derived and Base class are under the same namespace. I depicted the situation below:
namespace mynamespace
public class Base {
public Prop prop { get ; set;}
}
namespace mynamespace
public class Derived : Base {
// some other properties of the derived class , not so relevant....
}
public class Prop {
public String propString {get; set;}
}
I need to write two functions:
The first one receives a string of the "full path" of a property within a class and needs to extract the type of that property (In my case the string will be "Prop.propString" and the outcome of this method needs to be A PropertyInfo object with that property).
The second one gets an instance of an object and needs to perform a manipulation on the propString property (in my case the object that the function will get is A Derived object). I understood that it can be implemented in "more or less" that manner , yet it does not work well at the moment.
public void SecondFunc(Base obj)
{
PropertyInfo propertyInfo;
object obj = new object();
string value = (string)propertyInfo.GetValue(obj, null);
string afterRemovalValue = myManipulationStringFunc(value);
propertyInfo.SetValue(obj, afterRemovalValue, null);
}
Please your advises on how to implement these two functions, and off course any further insights you have will be highly appreciated.
Thanks allot in advance,
Guy.
I am not sure what you are trying to accomplish and if it is the best way to do it. But I have changed the code so it works. I have not made it as dynamic as it can be...
I hope this helps...