archboy吧 关注:1贴子:327

先写一个学C#临时记录的帖子吧

只看楼主收藏回复



IP属地:北京1楼2014-12-06 23:29回复
    第十六章,讲visual studio2010
    用于编写web窗体,windows窗体,WPF,silverlight应用程序,xmlweb服务等的主要IDE
    编写程序编译后,有两个概念。
    解决方案:就是整个程序开发中最终只有一份的一个东西,这里面可能包含多个project。扩展名.sln (solution)
    项目:即project,单个程序集中所有源码文件和资源。一般是在一个文件夹下面


    IP属地:北京2楼2014-12-06 23:55
    回复
      如果一个solution中有多个project,需要设定先执行哪一个。
      右键项目 set as startup project
      十六章主要讲了项目部署以及工具使用的一些东西,开发的时候不懂的地方常回来看看。


      IP属地:北京3楼2014-12-07 00:03
      回复
        17章:部署
        部署一个应用程序的步骤,如何 创建部署软件包。
        到发布的时候还是要看的


        IP属地:北京4楼2014-12-07 08:58
        回复
          关于事件的添加和监听。
          只要写好监听程序,
          可以再组件属性中直接找对应的属性添加相应事件,代码就会自动生成。
          这样便于编写,而且不容易出错。
          但是如果手动编辑添加事件应该也可。但如果纯手工编写窗体程序的话实在是太浪费时间
          那么程序员的竞争力在哪里,除了这种拖控件,加事件,强大的IDE帮你做好的事情之外?
          当然,架构上,软件思想上是很重要的,既然有强大的工具,当然可以拿来帮你做事。


          IP属地:北京5楼2014-12-07 09:27
          回复
            添加事件监听 this.button1.Click += new System.EventHandler(this.GetDatesBtn_Click);
            事件监听程序则在form类里面编写。
            form1.cs--代码部分
            form1.Designer.cs--界面部分,一般由系统自动生成,也可以手动修改,
            program.cs---包含Main()函数的程序主入口
            这是一个窗体的组成部分。
            designer程序主要负责了界面的元素属性,事件添加等等。也可以拿出来放到其他文件里。


            IP属地:北京6楼2014-12-07 09:34
            收起回复
              程序属性:
              proprieties
              assemblyInfo.cs
              创建时会自动生成,这个在实际开发中是要修改的。
              比如说公司版权之类的信息。


              IP属地:北京7楼2014-12-07 09:37
              回复
                发现VS相比eclipse有个不同点,说不上好坏
                可以把solution直接打开然后就能直接在里面编写或者什么了。
                而eclipse则需要把已经做好的project import进来。
                二者皆有特点
                问题是现在还没找到怎么在VS打开时直接加在一个solution进来
                而eclipse则可以记住上次的


                IP属地:北京8楼2014-12-07 09:52
                回复
                  C#程序是从方法Main()开始执行的。这个方法必须是类或结构的静态方法,并且其返回类型必须是int或void 给入口点方法指定什么访问级别并不重要,即使用把该方法标记为private,它也可以运行 ;如果按照通常的方式编译这段代码,就会错误提示:“定义有多个入口点”。
                  可以使用/main选项,其后跟Main方法所属类的全名(包括名称空间),明确告诉编译器把哪个方法作为程序的入口点
                  命令行语法: csc DubleMain.cs /main:MyPrograms.Client


                  IP属地:北京9楼2014-12-07 12:29
                  回复
                    Console.WriteLine(String,object1,object2,...)方法的使用方法
                    貌似可以这样使用:在前面String字符串中定义后面用逗号分隔的字符的打印格式。
                    有这样几种方式
                    1. 在字符串中使用大括号标识的{0},{1}等等,标识第一个逗号开始后面的每个对象,从0开始计数。(这里有点类似于C语言中的printf吧)
                    2,在大括号里面的0,1,2后面继续追加变量打印format。类似下面这种类型的:
                    "(d) Short date: . . . . . . . {0:d}\n" +
                    "(D) Long date:. . . . . . . . {0:D}\n" +
                    "(t) Short time: . . . . . . . {0:t}\n" +
                    "(T) Long time:. . . . . . . . {0:T}\n" +
                    "(f) Full date/short time: . . {0:f}\n" +
                    "(F) Full date/long time:. . . {0:F}\n" +
                    "(g) General date/short time:. {0:g}\n" +
                    "(G) General date/long time: . {0:G}\n" +
                    " (default):. . . . . . . . {0} (default = 'G')\n"
                    参考资料:http://msdn.microsoft.com/zh-cn/library/586y06yf.aspx


                    IP属地:北京10楼2014-12-07 14:52
                    回复
                      十四章,反射
                      反射通常具有以下用途:
                      使用 Assembly 定义和加载程序集,加载在程序集清单中列出的模块,以及从此程序集中查找类型并创建该类型的实例。
                      使用 Module 发现以下信息:包含模块的程序集以及模块中的类等。您还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。
                      使用 ConstructorInfo 发现以下信息:构造函数的名称、参数、访问修饰符(如 public 或 private)和实现详细信息(如 abstract 或 virtual)等。使用 Type 的 GetConstructors 或 GetConstructor 方法来调用特定的构造函数。
                      使用 MethodInfo 发现以下信息:方法的名称、返回类型、参数、访问修饰符(如 public 或 private)和实现详细信息(如 abstract 或 virtual)等。使用 Type 的 GetMethods 或 GetMethod 方法来调用特定的方法。
                      使用 FieldInfo 发现以下信息:字段的名称、访问修饰符(如 public 或 private)和实现详细信息(如 static)等;并获取或设置字段值。
                      使用 EventInfo 发现以下信息:事件的名称、事件处理程序数据类型、自定义属性、声明类型和反射类型等;并添加或移除事件处理程序。
                      使用 PropertyInfo 发现以下信息:属性的名称、数据类型、声明类型、反射类型和只读或可写状态等;并获取或设置属性值。
                      使用 ParameterInfo 发现以下信息:参数的名称、数据类型、参数是输入参数还是输出参数,以及参数在方法签名中的位置等。
                      当您在一个应用程序域的仅反射上下文中工作时,请使用 CustomAttributeData 来了解有关自定义属性的信息。使用 CustomAttributeData,您不必创建属性的实例就可以检查它们。
                      System.Reflection.Emit 命名空间的类提供了一种特殊形式的反射,使您能够在运行时生成类型。
                      反射也可用于创建称作类型浏览器的应用程序,它使用户能够选择类型,然后查看有关选定类型的信息。
                      反射还有其他一些用途。JScript 等语言编译器使用反射来构造符号表。System.Runtime.Serialization 命名空间中的类使用反射来访问数据并确定要持久保存的字段。System.Runtime.Remoting 命名空间中的类通过序列化来间接地使用反射。


                      IP属地:北京11楼2014-12-07 16:20
                      回复
                        派生和继承。。。
                        好吧,概念性的东西一定要学扎实了


                        IP属地:北京12楼2014-12-07 22:58
                        回复
                          39章第三节,有很多标准控件和组件。
                          这个有时间要每个都去试试,如果时间紧就现看现用


                          IP属地:北京13楼2014-12-07 23:18
                          回复
                            组件和控件。又是一个概念性的问题
                            组件是指可重复使用并且可以和其他对象进行交互的对象。组件(component)是靠类实现的。
                            控件是能够提供用户界面接口(UI)功能的组件。换句话说就是,控件是具有用户界面功能的组件。


                            IP属地:北京14楼2014-12-07 23:19
                            回复
                              1、Component在Run Time时不能呈现UI,而Control可以在Run Time时呈现UI(但是vs 2005里的asp.net中的SqlDataSource是Control,但是它不能呈现UI)。
                              2、Component是贴在容器Container上的,而Control则是贴在Windows Form或者Web Form上的。
                              举例来说,SqlCommand是个Component,DataGrid则是一个Control。
                              还要继续深究
                              参考:http://www.360doc.com/content/10/0105/16/495229_12741255.shtml


                              IP属地:北京15楼2014-12-07 23:22
                              回复