KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I expect there's one of two answers to this, either impossible or extremely simple and I've overlooked the obvious Google query. The underlying issue is that I have a generic object being passed in via an EventHandler that boxes the object and obfuscates the true type; only at runtime do I know what the object is. Admittedly the dynamic keyword can get around the issue, but I'd like to not lose IntelliSense and everything if I can avoid it. Plus, it doesn't solve not knowing what each of the properties of the generic object are without massive amounts of reflection. EDIT: The idea is to be able to determine the true type of the an object in a method parameter, and then cast that object as it's true type without knowing it in advance. This is but a simplified example. Boxed may have been the wrong term. An example: public class Program { static void Main(string[] args) { var container = new Container<Containee>( new Containee { Property1 = Guid.NewGuid(), Property2 = "I'm a property!", Property3 = DateTime.Now } ); var boxed = (object)container; var originalType = boxed.GetType(); // DOES NOT COMPILE: would like an operation like this // EDIT: Request for more detail var actualType = boxed as originalType; actualType.Entity.Property2 = "But I like this better."; } } public class Containee { public Guid Property1 { get; set; } public string Property2 { get; set; } public DateTime Property3 { get; set; } } public class Container<T> { public Container(T entity) { Entity = entity; } public T Entity { get; internal set; } } Clearly that won't compile, as there's not really a way to cast as a variable. However, I'm hoping there's a way to get a reference to the actual
Tags (comma-separated)
Save Edits
Cancel