Tag: 思考

为什么在C#中没有`fieldof`或'methodof`运算符?

他们可以使用如下: FieldInfo field = fieldof(string.Empty); MethodInfo method1 = methodof(int.ToString); MethodInfo method2 = methodof(int.ToString(IFormatProvider)); fieldof可以被编译成IL: ldtoken <field> call FieldInfo.GetFieldFromHandle methodof可以被编译为IL: ldtoken <method> call MethodBase.GetMethodFromHandle 无论何时使用typeof运算符,都可以find完美的Find All References结果。 不幸的是,只要你去田野或方法,你最终会讨厌的黑客。 我认为你可以做到以下几点…或者你可以回头去找名字。 public static FieldInfo fieldof<T>(Expression<Func<T>> expression) { MemberExpression body = (MemberExpression)expression.Body; return (FieldInfo)body.Member; } public static MethodInfo methodof<T>(Expression<Func<T>> expression) { MethodCallExpression body = (MethodCallExpression)expression.Body; return body.Method; } public […]

为什么reflection被称为反思而不是内省?

什么是反思一词的起源? 这似乎更像是内省。 为什么不叫它呢? 内省 :向内看; 特别是自我检查的行为或过程。 思考 : 反映的行为或被反映的状态。 一个图像; 表示; 副本 把某些想法固定在某物上; 详细的思考 思考发生在考虑或冥想。