C#学习总结

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Text;
 4 namespace fanshetest1
 5 {
 6     class Class1
 7     {
 8         private string ab="1";
 9         public Class1(string aa)
10         {
11             a = aa;
12         }
13         public int  aa(int x,int y)
14         {
15             return x+y+x+y;
16         }
17         public string bb()
18         {
19             return "bb";
20         }
21         public static string cc()
22         {
23             return "cc";
24         }
25         public string AB
26         {
27             get
28             {
29                 return ab;
30             }
31             set
32             {
33                 ab = value;
34             }
35         }
36         public string a;
37     }
38 }

一个 C# 程序主要包括以下部分:

下面是如何使用反射操作以上类;

以上就是我一个月来C#的学习总结,C#这门语言博大精深,还有很多值得我学习的地方

 

C#
是一个简单的、现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的。
C# 是 .Net 框架的一部分,且用于编写 .Net 应用程序。
.Net 框架应用程序是多平台的应用程序。
框架的设计方式使它适用于下列各种语言:C#、C++、Visual
Basic、Jscript、COBOL 等等。
C#的特性共有六点

Class1和Form 窗体在同一个命名空间

如何创建空白Windows窗体
设置窗体属性
设置窗体的背景:backgroundimage属性
如何添加新的窗体并关联

Form2 newfor = new Form2();
newfor.Show();
this.Hide();

更改窗体标题名称

this.Text = “窗体标题”;
点窗体,在属性框中找到Text属性修改
。。。。。。

Class1和Form 窗体在不同一个命名空间

textbox:

设置文本长度:MaxLenth
隐藏输入字体:passwordchar
。。。。。。

comboBox:

下拉菜单:DropDownList
。。。。。。

等等

原文:http://www.cnblogs.com/chenwei19/archive/2009/02/04/1384034.html

命名空间声明(Namespace declaration)
一个 class
Class 方法
Class 属性
一个 Main 方法
语句(Statements)& 表达式(Expressions)
注释

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Text;
 4 namespace fanshetest1
 5 {
 6     class Class1
 7     {
 8         private string ab="1";
 9         public Class1(string aa)
10         {
11             a = aa;
12         }
13         public int  aa(int x,int y)
14         {
15             return x+y+x+y;
16         }
17         public string bb()
18         {
19             return "bb";
20         }
21         public static string cc()
22         {
23             return "cc";
24         }
25         public string AB
26         {
27             get
28             {
29                 return ab;
30             }
31             set
32             {
33                 ab = value;
34             }
35         }
36         public string a;
37     }
38 }

1.简单
2.面对对象
3.类型安全
4.与web紧密结合
5.基于.NET Frameword
6.支持跨平台。

  1 using System;
  2 using System.Collections.Generic;
  3 using System.ComponentModel;
  4 using System.Data;
  5 using System.Drawing;
  6 using System.Text;
  7 using System.Windows.Forms;
  8 using System.Reflection;
  9 namespace fanshetest
 10 {
 11     public partial class Form1 : Form
 12     {
 13         System.Reflection.Assembly a;
 14         System.Reflection.Assembly b;
 15         public Form1()
 16         {
 17             InitializeComponent();
 18             a = System.Reflection.Assembly.LoadFrom("Class1.DLL");
 19         }
 20         private void button1_Click(object sender, EventArgs e)
 21         {
 22             gouzaohanshu();
 23            
 24         }
 25        //没有传参数,返回一个类型;
 26         private void One()
 27         {
 28             //再另建一个项目,在项目中引用上面生成的ClassLibrary1.DLL
 29             System.Type t = a.GetType("Class1.Class1");
 30             //动态生成ClassLibrary1.Class类的实例
 31             Object theObj = System.Activator.CreateInstance(t);
 32             //参数信息,GetSum需要两个string参数
 33             System.Type[] paramTypes = new System.Type[2];
 34             paramTypes[0] = System.Type.GetType("System.String");
 35             paramTypes[1] = System.Type.GetType("System.String");
 36             //System.Reflection.MethodInfo mi = t.GetMethod("aa", paramTypes);
 37             System.Reflection.MethodInfo mi = t.GetMethod("bb");
 38             //参数值
 39             Object[] parameters = new Object[2];
 40             parameters[0] = 3;
 41             parameters[1] = 4;
 42             Object returnValue = mi.Invoke(theObj, null);
 43             this.textBox1.Text = returnValue.ToString();
 44         }
 45         //没有返回值,调用的是直接执行函数
 46         private void None_void()
 47         {
 48             //再另建一个项目,在项目中引用上面生成的ClassLibrary1.DLL
 49             System.Type t = a.GetType("Class1.Class2");
 50             //动态生成ClassLibrary1.Class类的实例
 51             Object theObj = System.Activator.CreateInstance(t);
 52             //参数信息,GetSum需要两个string参数
 53             System.Type[] paramTypes = new System.Type[2];
 54             //此处调用方法,如果有参数只需要在括号的后面加上"," 加上参数的type[]类型的参数
 55             System.Reflection.MethodInfo mi = t.GetMethod("Mes");
 56             Object returnValue = mi.Invoke(theObj, null);
 57         }
 58         //没有返回值,传出参数接收返回值;
 59         private void Two()
 60         {
 61             Type t = a.GetType("Class1.Class1");
 62             Object theObj = Activator.CreateInstance(t);
 63             Type[] types=new Type[2];
 64             types[0]=Type.GetType("System.Int32");
 65             types[1]=Type.GetType("System.Int32");
 66             Object[] obj=new Object[2];
 67             obj[0]=2;
 68             obj[1]=3;
 69             MethodInfo mi = t.GetMethod("aa",types);
 70            Object returnValue=mi.Invoke(theObj,obj);
 71            this.textBox1.Text = returnValue.ToString();
 72         }
 73         //获取同一个命名空间的反射出值
 74         private void Local()
 75         {
 76             Type t=Type.GetType("fanshetest1.Class1");
 77             //创建一个 实例
 78             Object theObj = Activator.CreateInstance(t);
 79             Type[] types=new Type[2];
 80             types[0]=Type.GetType("System.Int32");
 81             types[1] = Type.GetType("System.Int32");
 82             Object[] obj = new Object[2];
 83             obj[0] = 2;
 84             obj[1] = 3;
 85             MethodInfo mi = t.GetMethod("aa",types);
 86             Object returnValue = mi.Invoke(theObj,obj);
 87             this.textBox1.Text = returnValue.ToString();
 88         }
 89         //获取出一个属性
 90         private void attribute()
 91         {
 92             a = Assembly.LoadFrom("Class1.dll");
 93             Type t = a.GetType("Class1.Class1");
 94             t = Type.GetType("fanshetest1.Class1");
 95             Object theObj = Activator.CreateInstance(t);
 96             t.GetProperty("AB").SetValue(theObj,"a",null);
 97             this.textBox1.Text = t.GetProperty("AB").GetValue(theObj, null).ToString();
 98         }
 99         //获取出静态的函数;
100         private void static_()
101         {
102             a = System.Reflection.Assembly.LoadFrom("Class1.dll");
103             Type t = a.GetType("Class1.Class1");
104             t = Type.GetType("fanshetest1.Class1");
105             //创建一个实例
106             Object theObj = Activator.CreateInstance(t);
107             //创建一个方法的实例
108             MethodInfo mi = t.GetMethod("cc");
109             Object returnValue = mi.Invoke(theObj, null);
110             this.textBox1.Text = returnValue.ToString();
111         }
112         //获取出变量;
113         private void variable()
114         {
115             a = Assembly.LoadFrom("Class1.dll");
116             Type t = a.GetType("Class1.Class1");
117             t = Type.GetType("fanshetest1.Class1");
118             Object theObj = Activator.CreateInstance(t);
119             MethodInfo mi = t.GetMethod("a");
120             t.GetField("a").SetValue(theObj,"a");
121             this.textBox1.Text = t.GetField("a").GetValue(theObj).ToString();
122         }
123         //获取出私有变量反射值;
124         private void private_()
125         { 
126             
127         }
128         //构造函数
129         private void gouzaohanshu()
130         {
131             Type t = a.GetType("Class1.Class1");
132             t = Type.GetType("fanshetest1.Class1");
133             //创建构造函数类型
134             Type[] structure_Type = new Type[1];
135             structure_Type[0] = Type.GetType("System.String");
136             //定义构造函数传参类型
137             Object[] structure_Obj = new Object[1];
138             structure_Obj[0] = "aa";
139             //创建一个 实例
140             Object theObj = Activator.CreateInstance(t,structure_Obj);
141             //MethodInfo structure_Mi = t.GetConstructor(structure_Type);
142             //MethodInfo structure_Mi = t.GetMethod("Class1", structure_Type);
143             //structure_Mi.Invoke(theObj, structure_Obj);
144             MethodInfo mi = t.GetMethod("a");
145             //t.GetField("a").SetValue(theObj, "a");
146             this.textBox1.Text = t.GetField("a").GetValue(theObj).ToString();
147         }
148     }
149 }

然后,我们学习了
窗体的设计

 

各种控件的设置