如果我在C#中的方法定义之前有一个属性,该属性是否始终在方法开始运行之前执行?我一直在研究过去一小时,但没有找到任何具体的信息。
答案 0 :(得分:2)
如果我在C#中的方法定义之前有一个属性,该属性是否始终在方法开始运行之前执行?
不,它根本没有保证。实际上,运行时的通常行为似乎是属性的构造函数仅在请求属性时运行(通过对装饰成员的反射)。据我所知,只有$ sed -E 's/([^:]*):([^:]*):[^:]*/\1:\2:\1/' file
one:two:one:four:five
up:and:up
1:2:1:4
方法的属性实际上是在没有人工反射的情况下运行的。