首页 新闻 会员 周边

关于typeof操作符与类型上下文之间的关系

0
悬赏园豆:10 [已解决问题] 解决于 2010-02-02 17:00

using System;

public class A { }

public class Test

 {

     static void Main()

       {

            string A = "ABC";

            Type t = typeof(A);

            Console.WriteLine(A);  //"A"

            Console.WriteLine(t); //"A" 打印System.Type对象的ToString

        }
 }

 

如果说,在Test.Main中字符串A的范围覆盖了类型A的话,那么为什么在使用typeof操作符时会引用到类型A的标识符呢?请大家帮我解释心中的疑团?烦您讲的详细一点!

 

shuzhiguolu的主页 shuzhiguolu | 初学一级 | 园豆:32
提问于:2010-02-02 10:56
< >
分享
最佳答案
0

typeof 中只能填入类型,而不能填入变量,编译器在这里会去找名字为A的类型而不是变量,所以引用到了类型A的标识符。

            string a = "ABC";
            Type t = typeof(a);

上面语句你试一下,无法编译通过的。

收获园豆:10
eaglet | 专家六级 |园豆:17139 | 2010-02-02 11:12
其他回答(1)
0

楼上正解

而   Console.WriteLine(A); 不能是直接的class

persialee | 园豆:3217 (老鸟四级) | 2010-02-02 12:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册