帮我解释一下下面这行语句的作用吗?
我知道是获取当前程序集的路径,但是后面CodeBase.Substring(8)这是做什么的就不太了解了System.Reflection.Assembly.GetExecutingAssembly().CodeBase.Substring(8);谢谢了!!!

解决方案 »

  1.   

     
    System.Reflection.Assembly.GetExecutingAssembly().CodeBase;
    的意思就是取得运行中的程序名字和路径
    但前面有file:///重要的格式 
    file:///D:/Project/bin/Debug/WindowsApplication.EXE
    System.Reflection.Assembly.GetExecutingAssembly().CodeBase.Substring(8); 
    的意思就是从第8位开始取得字符串
    D:/Project/bin/Debug/WindowsApplication.EXE
      

  2.   

    楼上正解!
    这样也可以,可能比较直观点
    string str = Assembly.GetExecutingAssembly().GetName().CodeBase;
                    if (str.ToLower().IndexOf("file:///") >= 0)
                    {
                        str = str.Substring(8, str.Length - 8);
                    }
                    string path = System.IO.Path.GetDirectoryName(str);