5 c# reflection
我想知道是否可以这样做:
class brand
{
string name;
}
class car
{
string carname;
brand carbrand;
}
Run Code Online (Sandbox Code Playgroud)
现在我有一个这样的字符串和一个类型为car的实例化对象:
car carobject = new car();
string brandNameOfCar = DoSomeMagicalReflectionStuff(car, "car.brand.name");
Run Code Online (Sandbox Code Playgroud)
"DoSomeMagicalReflectionStuff"方法如何?
甚至可以做以下事情:
car carobject = new car();
string brandNameOfCar = DoSomeMagicalReflectionStuff(car, "car.brand.name.ToFormatedString()");
Run Code Online (Sandbox Code Playgroud)
谢谢!
我通常不会尝试插入我所参与的产品,但这是一个需要Vici Parser(.NET 的开源表达式解析器)解决的完美问题:
var parser = new CSharpParser();
var context = new CSharpContext();
context["car"] = carobject;
string brandNameOfCar =
parser.Evaluate<string>("car.brand.name.ToFormatedString()", context);
Run Code Online (Sandbox Code Playgroud)