也许我的问题很奇怪......我想知道是否可以对一个短语使用反射。
我试图与 C# 中的反射进行比较。到目前为止,我将属性的名称作为字符串传递,将值作为对象传递,就像这样:Cmp("foo", "abc")
.
这样我必须检查foo
类中是否存在属性,并检查值类型是否与属性类型匹配(在上面的示例中 foo 是字符串属性,值是字符串)。这种方法很好用!
我只是想知道是否可以将短语作为参数发送并用反射或类似的东西对其进行分析。
我的意思是,就像上面的例子一样,而不是像这样调用函数,而是像这样Cmp("foo", "abc")
调用函数Cmp(A.foo == "abc")
(A
是具有属性的类foo
),然后分析属性是foo
并且值是"abc"
。
我知道这听起来很奇怪,对我来说没有必要。它只是为了这个想法。
可能吗?
编辑
如果我不清楚,我已经写了Cmp(string, string)
方法,它工作正常!
我只想知道是否有办法编写这样的Cmp
方法:Cmp(A.foo == "abc")
. 该参数是一个短语。
编辑 2
例如,您可以在 C 中执行类似的操作。您可以像这样创建宏:
#define Cmp(phrase) printf(##phrase)
然后,如果您调用它Cmp(A.foo == "abc")
,输出将是:
A.foo == "abc"
就像将整个短语作为参数传递并对其进行分析。我知道宏是预编译的东西,我只想知道C#中是否有类似的东西