Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 C#使用字符串调用方法_C# 4.0 - Fatal编程技术网

C# 4.0 C#使用字符串调用方法

C# 4.0 C#使用字符串调用方法,c#-4.0,C# 4.0,我有一个可以通过obj.description调用的方法 public class FromJS { public String description { get; set; } } FromJS obj = new FromJS(); obj.description; 可以这样称呼它吗 String val = "description"; obj.val 我发现这个问题来自于一个有脚本语言经验的用户(默认情况下,脚本语言的方法和属性都是后期绑定的)。这些语言通常支持将字符串

我有一个可以通过obj.description调用的方法

public class FromJS
{
    public String description { get; set; }
}

FromJS obj = new FromJS();
obj.description;
可以这样称呼它吗

String val = "description";

obj.val

我发现这个问题来自于一个有脚本语言经验的用户(默认情况下,脚本语言的方法和属性都是后期绑定的)。这些语言通常支持将字符串作为程序的一部分进行“评估”的简单语法

C#是一种类型化很强的语言,它支持作为例外的后期绑定,因此在php、perl、python或ruby中没有直接的解决方案作为eval()。当使用C#时,请尝试找到一个不需要这些技巧的解决方案,或者按照一些评论建议使用反射


关于.NET中反射的初学者介绍:

您正在寻找反射。然而,这通常是个坏主意。如何在反思中做到这一点?为什么这是个坏主意?可能是@ProgramFOX的重复,但我不明白。如果你使用该问题的
GetPropValue
方法,只需使用以下代码:
string descr=(string)GetPropValue(obj,“description”)