需要Javascript上的C#表达式树之类的东西吗
考虑一下这样的事情需要Javascript上的C#表达式树之类的东西吗,javascript,c#,Javascript,C#,考虑一下这样的事情 const myFunc = (x) => x.Property1; let obj = { Property1: "value1", Property2: "value2" }; console.log(myFunc(obj)); // output: value1 我需要这样的东西: console.log(whatINeed(myFunc, obj)) // output: **Property1** 有可能达到这个要求吗 “whatINeed”函数的主
const myFunc = (x) => x.Property1;
let obj = {
Property1: "value1",
Property2: "value2"
};
console.log(myFunc(obj)); // output: value1
我需要这样的东西:
console.log(whatINeed(myFunc, obj)) // output: **Property1**
有可能达到这个要求吗
“whatINeed”函数的主体是什么?如果运行
myFunc.toString()
,它将为您提供“(x)=>x.Property1”
。然后,您可以为此编写一个解析器,这应该不会太难。如果您想要像C#这样的完整功能,这将很难。如果您运行myFunc.toString()
,它将为您提供“(x)=>x.Property1”
。然后,您可以为此编写一个解析器,这应该不会太难。如果你想要像C#这样的全功能,那就很难了。你能解释一下你想要实现什么吗?看看这里@Rajesh我想知道我的obj的哪一个特性是被试着阅读的。我想在我的示例中得到“Property1”。我想你必须为此编写某种“解析器”。“这应该不会太难。”AnestisKivranoglou谢谢你的评论。我想,你误解了。Lamda语法不是我的问题。我需要找出我的模型(obj)的哪个属性被尝试读取这个例子中的属性1。你能解释一下你想要实现什么吗?看看这里@Rajesh我想知道我的obj的哪个属性被试着读取。我想在我的示例中得到“Property1”。我想你必须为此编写某种“解析器”。“这应该不会太难。”AnestisKivranoglou谢谢你的评论。我想,你误解了。Lamda语法不是我的问题。我需要找出我的模型(obj)的哪个属性被尝试读取这是一种解决方案。正在等待任何其他解决方案。。。谢谢,这是一种解决办法。正在等待任何其他解决方案。。。谢谢