Introduction to.net. Andrew Cumming, SoC. Introduction to.net. Bill Buchanan, SoC. W.Buchanan (1)

Size: px
Start display at page:

Download "Introduction to.net. Andrew Cumming, SoC. Introduction to.net. Bill Buchanan, SoC. W.Buchanan (1)"

Transcription

1 Andrew Cumming, SoC Bill Buchanan, SoC W.Buchanan (1)

2 Course Outline Day 1: Morning Introduction to Object-Orientation, Introduction to.net, Overview of.net Framework,.NET Components. C#. Day 1: Afternoon Data Types, Variables, Converting Data Types, if, for, while, File Handling Day 2: Morning Arrays, System.Collections, ArrayLists, Hashtables. Day 2: Afternoon Reference-Type Variables, Common Reference Types, Object Hierarchy, Namespaces, Debugging. Day 3: Morning Methods, Exceptions, Namespaces, Modules/ Assemblies, Non-visual Components, Regular Expressions, Intellisense, Help, Delegates, Events. Day 3: Afternoon Cerebus, Limit-check components, Power meter class. Course Outline (Day 1 to 3) W.Buchanan (2)

3 Course Outline Day 4: Morning Classes, Encapsulation, Object-Orientation, Classes, Sealed Classes, Interfaces, Abstract Classes. Day 4: Afternoon Using Constructors, Initializing Memory, Objects and Memory, Resource Management. Day 5: Morning Cerebus: 1mW Test. Day 5: Afternoon Operators, Operator Overloading, Attributes, Custom Attributes, Retrieving Attribute Values. Course Outline (Day 4 and 5) W.Buchanan (3)

4 Module 1 Introduction to Object-orientation..NET Framework. Visual Studio Environment. Benefits of C# over VB..NET Components..NET Languages. Introduction W.Buchanan (4)

5 An Introduction to Object- Orientation Bill Buchanan Introduction W.Buchanan (5)

6 Some Cups W.Buchanan (6)

7 Parameter Cup 1 Cup 2 Cup3 Shape (Standard/Square/Mug) Standard Square Mug Colour (Red/Blue/Green) Blue Red Green Size (Small/Medium/Large) Small Large Small Transparency (0 to 100%) 100% 50% 25% Handle type (Small/Large) Small Small Large In object-orientation:a collection of parameters defines a class. Class for the cup is thus: Shape, Colour, Size, Transparency, HandleType. In object-orientation: Objects are created from classes. A Quick Introduction to Object-Orientation W.Buchanan (7)

8 using System; namespace ConsoleApplication2 Class definitions public class Cup public string Shape; public string Colour; public string Size; public int Transparency; public string Handle; Available variables (properties) Method public void DisplayCup() System.Console.WriteLine("Cup is 0, 1", Colour, Handle); class Class1 static void Main(string[] args) Cup cup = new Cup(); cup.colour = "Red"; cup.handle = "Small"; cup.displaycup(); System.Console.ReadLine(); Create new object Set properties Apply method Example C# Program using Object-Orientation W.Buchanan (8)

9 using System; namespace ConsoleApplication2 public class Circuit public double Parallel(double r1, double r2) return((r1*r2)/(r1+r2)); public double Series(double r1, double r2) return(r1+r2); Class definitions class Class1 static void Main(string[] args) double v1=100,v2=100; double res; Circuit cir = new Circuit(); res=cir.parallel(v1,v2); System.Console.WriteLine("Parallel resistance is 0 ohms",res); res=cir.series(100,100); System.Console.WriteLine("Series resistance is 0 ohms",res); System.Console.ReadLine(); Another example W.Buchanan (9)

10 using System; namespace ConsoleApplication2 public class Complex public double real; public double imag; public double mag() return (Math.Sqrt(real*real+imag*imag)); public double angle() return (Math.Atan(imag/real)*180/Math.PI); class Class1 static void Main(string[] args) string str; double mag,angle; Complex r = new Complex(); System.Console.Write("Enter real value >>"); str=system.console.readline(); r.real = Convert.ToInt32(str); System.Console.Write("Enter imag value >>"); str=system.console.readline(); r.imag = Convert.ToInt32(str); mag=r.mag(); angle=r.angle(); System.Console.WriteLine("Mag is 0 and angle is 1",mag,angle); System.Console.ReadLine(); z = x + jy z z = x 2 = tan + y 1 2 y x Another example W.Buchanan (10)

11 .NET Framework Bill Buchanan Introduction W.Buchanan (11)

12 Source Code (C/C++/ Delphi/ VB) Compilation OBJ file Linker Linker EXE EXE Program Program Static Static Libraries gdi32.dll API (Application Programming Interface) ole32.dll Traditional Windows Model W.Buchanan (12)

13 Creating windows. Windows support functions. Message processing. Menus. Resources. Dialog boxes. User input functions. Memory management. GDI (graphical device interface). Bitmaps, icons and metafiles. Printing and text output. Painting and drawing. File I/O. Clipboard. Support for public and private clipboards. Registry. Support for functions which access the Registry. Initialization files. Support for functions which access INI files. System information. String manipulation. Timers. Processes and threads. Example Error and exception processing. Example C++ C++ code code calling calling an an API API #include <windows.h> #include <windows.h> MDI (multiple document int interface). WINAPI WinMain(HINSTANCE hinstance, int WINAPI WinMain(HINSTANCE hinstance, Help files. HINSTANCE hprev, LPSTR lpcmd, int nshow) HINSTANCE hprev, LPSTR lpcmd, int nshow) File compression/decompression. char msg[128]; DLLs. char msg[128]; wsprintf(msg, "My name is Fred"); Network support (NetBios and wsprintf(msg, Windows sockets "My name 1.1 APIs). is Fred"); MessageBox(GetFocus(), msg, "My first MessageBox(GetFocus(), msg, "My first Multimedia support (sound Window", APIs). MB_OK MB_ICONINFORMATION); Window", MB_OK MB_ICONINFORMATION); OLE and DDE (dynamic data return(0); return(0); exchange). TrueType fonts. gdi32.dll EXE EXE Program Program API (Application Programming Interface) ole32.dll Traditional Windows Model W.Buchanan (13)

14 EXE EXE Program Program Lack of support for different hardware Programs were compiled to x86 code. Difficult to integrate different languages Lack of security Integration Most programs where written with little care about security Poor version control for system components Weak integration with Internet/WWW Code and WWW code where seen as separate entities. Code.asp Code.asp <% <% %> %> val1 = 10 val1 = 10 val2 = 20 val2 = 20 result = Cstr(val1) + Cstr(val2) result = Cstr(val1) + Cstr(val2) response.write "<BR>Value is " & result response.write "<BR>Value is " & result result = val1 + val2 result = val1 + val2 response.write "<BR>Value is " & result response.write "<BR>Value is " & result So what s wrong with the old model? W.Buchanan (14)

15 VB VB ASP ASP ASP ASP VB VB.NET.NET C# C# C C C++ C++ VBA VBA Executable Executable Program Program Visual Studio ASP WWW Services COM+ (Distributed Components).NET Platform API (Application Programming Interface) New.NET Platform W.Buchanan (15)

16 VB VB.NET.NET C# C# FCL FCL (Framework Class Class Library) Web Web component component Compiler CLS CLS (Common (Common Language Language Specification) Specification) CTS CTS (Common (Common Type Type System) System) MSIL (Microsoft Intermediate Language) CLR CLR (Common Language Runtime) Allows Allows the the programs to to run run similar similar to to the the Java Java Virtual Virtual Machine (JVM) (JVM) How are languages integrated? W.Buchanan (16)

17 Volume in drive C has no label. Volume Serial Number is 1A83-0D9D Directory of C:\WINDOWS\Microsoft.NET\Framework\v /02/ :24 7,680 Accessibility.dll 21/02/ :00 98,304 alink.dll 20/02/ :19 24,576 aspnet_filter.dll 20/02/ :19 253,952 aspnet_isapi.dll 20/02/ :19 40,960 aspnet_rc.dll 20/02/ :09 77,824 CORPerfMonExt.dll 21/02/ :21 626,688 cscomp.dll 21/02/ :24 12,288 cscompmgd.dll 21/02/ :24 33,792 CustomMarshalers.dll 29/07/ :11 219,136 c_g18030.dll 21/02/ :21 524,288 diasymreader.dll 19/03/ :52 245,760 envdte.dll 20/02/ :16 798,720 EventLogMessages.dll 20/02/ :06 282,624 fusion.dll 21/02/ :24 7,168 IEExecRemote.dll 21/02/ :24 32,768 IEHost.dll 21/02/ :24 4,608 IIEHost.dll 21/02/ :25 1,564,672 mscorcfg.dll 20/02/ :09 77,824 mscordbc.dll 20/02/ :09 233,472 mscordbi.dll 20/02/ :09 86,016 mscorie.dll 20/02/ :06 311,296 mscorjit.dll 20/02/ :09 98,304 mscorld.dll 21/02/ :26 2,088,960 mscorlib.dll 20/02/ :43 131,072 mscormmc.dll 20/02/ :06 65,536 mscorpe.dll 20/02/ :09 143,360 mscorrc.dll 20/02/ :09 81,920 mscorsec.dll 20/02/ :09 77,824 mscorsn.dll 20/02/ :07 2,494,464 mscorsvr.dll 20/02/ :09 9,216 mscortim.dll 20/02/ :08 2,482,176 mscorwks.dll 21/02/ :42 348,160 msvcr71.dll 18/03/ :03 544,768 msvcr71d.dll 20/02/ :18 20,480 mtxoci8.dll 19/03/ :50 196,608 office.dll 20/02/ :09 90,112 PerfCounter.dll 21/02/ :26 32,768 RegCode.dll Program Contains most of the code that is called by the program Mscorlib.dll Arrays, Arrays, File File I/O, I/O, System, System, Security Security.NET Framework Files W.Buchanan (17)

18 Visual Studio Environment Bill Buchanan Visual Studio Environment W.Buchanan (18)

19 Name of the folder Which contains the Project files the project is stored. Folder where the project is stored. W.Buchanan (19)

20 Class file (.cs) Solution explorer Code and Text Editor Editor's statement completion W.Buchanan (20)

21 Example of Auto-Complete W.Buchanan (21)

22 W.Buchanan (22)

23 Module01_01.sln Module01_01.sln Microsoft Visual Studio Solution File, Format Version 8.00 Project("FAE04EC0-301F-11D3-BF4B-00C04F79EFBC") Microsoft Visual Studio Solution File, Format Version = "Module01_01", 8.00 Project("FAE04EC0-301F-11D3-BF4B-00C04F79EFBC") "Module01_01.csproj", "1EA384DD-927E-4B94-ABB8-BA08DFAE5AB3" = "Module01_01", ProjectSection(ProjectDependencies) "Module01_01.csproj", "1EA384DD-927E-4B94-ABB8-BA08DFAE5AB3" = postproject EndProjectSection ProjectSection(ProjectDependencies) = postproject EndProject EndProjectSection Global EndProject Global GlobalSection(SolutionConfiguration) = presolution GlobalSection(SolutionConfiguration) Debug = Debug = presolution Release Debug = = Debug Release EndGlobalSection Release = Release GlobalSection(ProjectConfiguration) EndGlobalSection = postsolution GlobalSection(ProjectConfiguration) 1EA384DD-927E-4B94-ABB8-BA08DFAE5AB3.Debug.ActiveCfg = postsolution = Debug.NET 1EA384DD-927E-4B94-ABB8-BA08DFAE5AB3.Debug.ActiveCfg = Debug.NET 1EA384DD-927E-4B94-ABB8-BA08DFAE5AB3.Debug.Build.0 = Debug.NET 1EA384DD-927E-4B94-ABB8-BA08DFAE5AB3.Debug.Build.0 = Debug.NET 1EA384DD-927E-4B94-ABB8-BA08DFAE5AB3.Release.ActiveCfg = Release.NET 1EA384DD-927E-4B94-ABB8-BA08DFAE5AB3.Release.ActiveCfg = Release.NET 1EA384DD-927E-4B94-ABB8-BA08DFAE5AB3.Release.Build.0 = Release.NET 1EA384DD-927E-4B94-ABB8-BA08DFAE5AB3.Release.Build.0 = EndGlobalSection Release.NET GlobalSection(ExtensibilityGlobals) EndGlobalSection = postsolution EndGlobalSection GlobalSection(ExtensibilityGlobals) = postsolution GlobalSection(ExtensibilityAddIns) EndGlobalSection = postsolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postsolution EndGlobal EndGlobalSection EndGlobal Solution File (.sln) W.Buchanan (23)

24 CSProf file Module01_01.csprof Module01_01.csprof <VisualStudioProject> <VisualStudioProject> <CSHARP <CSHARP ProjectType = "Local" ProductVersion ProjectType = = "Local" " " SchemaVersion ProductVersion = "2.0" = " " > SchemaVersion = "2.0" > <Build> <Build> <Settings <Settings ApplicationIcon = "App.ico" AssemblyKeyContainerName ApplicationIcon = "App.ico" = "" AssemblyName AssemblyKeyContainerName = "Module01_01" = "" AssemblyOriginatorKeyFile AssemblyName = "Module01_01" = "" DefaultClientScript AssemblyOriginatorKeyFile = "JScript" = "" DefaultHTMLPageLayout DefaultClientScript = = "JScript" "Grid" DefaultTargetSchema DefaultHTMLPageLayout = "IE50" = "Grid" DelaySign DefaultTargetSchema = "false" = "IE50" OutputType = "Exe" PreBuildEvent DelaySign = "false" = "" PostBuildEvent OutputType = = "Exe" "" RootNamespace PreBuildEvent = = "Module01_01" "" PostBuildEvent = "" RunPostBuildEvent RootNamespace = "Module01_01" = "OnBuildSuccess > <Config RunPostBuildEvent = "OnBuildSuccess > <Config Name = "Debug" AllowUnsafeBlocks Name = "Debug" = "false".. AllowUnsafeBlocks = "false".. /> <Config /> <Config Name = "Release" AllowUnsafeBlocks Name = "Release" = "false" BaseAddress AllowUnsafeBlocks = " " = "false".. BaseAddress = " ".. /> </Settings> /> <References> </Settings> </Build> <References> <Files> </Build> <Files> <Include> <Include> <File RelPath = "App.ico BuildAction = "Content" /> <File <File RelPath RelPath = = "App.ico "AssemblyInfo.cs" BuildAction SubType = "Content" = "Code" /> <File BuildAction RelPath = = "Compile" "AssemblyInfo.cs" /> SubType = "Code" <File BuildAction = "Compile" /> <File RelPath = "Class1.cs" SubType = "Code" BuildAction RelPath = "Class1.cs" = "Compile" SubType = "Code" /> </Include> BuildAction = "Compile" /> </Files> </Include> </CSHARP> </Files> </VisualStudioProject> </CSHARP> </VisualStudioProject> W.Buchanan (24)

25 Class1.cs Class1.cs using System; using System; namespace Module01_01 namespace Module01_01 /// <summary> /// <summary> /// Summary description for Class1. /// Summary description for Class1. /// </summary> /// </summary> class Class1 class Class1 /// <summary> /// <summary> /// The main entry point for the application. /// The main entry point for the application. /// </summary> /// </summary> static void Main(string[] args) static void Main(string[] args) // // // TODO: Add code to start application here // TODO: Add code to start application here System.Console.WriteLine("Agilent System.Console.WriteLine("Agilent Course"); Course"); System.Console.ReadLine(); System.Console.ReadLine(); Solution File (.sln) W.Buchanan (25)

26 ICO file W.Buchanan (26)

27 .NET uses assembly to represent a single unit. An assembly is a collection of files that appear as a single unit, such as a single DLL or an EXE. AssemblyInfo.cs AssemblyInfo.cs using System.Reflection; using using System.Runtime.CompilerServices; System.Reflection; using System.Runtime.CompilerServices; // // // General Information about an assembly is controlled through the following // // set General of attributes. Information Change about these an assembly attribute is values controlled to modify through the the information following // // associated set of attributes. with an assembly. Change these attribute values to modify the information // // associated with an assembly. [assembly: // AssemblyTitle("")] [assembly: [assembly: AssemblyDescription("")] AssemblyTitle("")] [assembly: [assembly: AssemblyConfiguration("")] AssemblyDescription("")] [assembly: [assembly: AssemblyCompany("")] AssemblyConfiguration("")] [assembly: [assembly: AssemblyProduct("")] AssemblyCompany("")] [assembly: [assembly: AssemblyCopyright("")] AssemblyProduct("")] [assembly: [assembly: AssemblyTrademark("")] AssemblyCopyright("")] [assembly: [assembly: AssemblyCulture("")] AssemblyTrademark("")] [assembly: AssemblyCulture("")] // // // Version information for an assembly consists of the following four values: // // Version information for an assembly consists of the following four values: // // Major Version // // Minor Major Version Version // // Build Minor Number Version // // Revision Build Number // // Revision // // You can specify all the values or you can default the Revision and Build // You Numbers can specify all the values or you can default the Revision and Build // by using Numbers the '*' as shown below: // by using the '*' as shown below: [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyDelaySign(false)] [assembly: [assembly: AssemblyKeyFile("")] AssemblyDelaySign(false)] [assembly: [assembly: AssemblyKeyName("")] AssemblyKeyFile("")] [assembly: AssemblyKeyName("")] Solution File (.sln) W.Buchanan (27)

28 Types Namespace: ConsoleAppplication2 Types W.Buchanan (28)

29 Methods Variable Members W.Buchanan (29)

30 Property W.Buchanan (30)

31 Object Browser W.Buchanan (31)

32 System.Collections W.Buchanan (32)

33 .NET Languages What are the languages?.net Languages W.Buchanan (33)

34 VB.NET Code VB.NET Code Dim j As Integer Dim j As Integer Dim prime As Boolean Dim prime As Boolean Dim i As Integer Dim i As Integer For i = 1 To 100 For i = 1 To 100 prime = True prime = True For j = 2 To (i / 2) For j = 2 To (i / 2) If ((i Mod j) = 0) Then If ((i Mod j) = 0) Then prime = False prime = False End If End If Next j Next j If (prime = True) Then If (prime = True) Then TextBox1.Text = TextBox1.Text & "," & Str(i) TextBox1.Text = TextBox1.Text & "," & Str(i) End If End If Next i Next i // C# Code // C# Code int i, j; int i, j; bool prime; bool prime; for (i=0;i<100;i++) for (i=0;i<100;i++) prime = true; prime = true; for (j=2;j<=i/2;j++) for (j=2;j<=i/2;j++) if ((i%j)==0) prime=false; if ((i%j)==0) prime=false; if (prime==true) textbox1.text+=" " + Convert.ToString(i); if (prime==true) textbox1.text+=" " + Convert.ToString(i); Example of C# and VB.NET Code W.Buchanan (34)

35 Public Class Form1 Public Inherits Class System.Windows.Forms.Form Form1 Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " #Region " Windows Form Designer generated code " Public Sub New() Public MyBase.New() Sub New() MyBase.New() End Sub 'Form End Sub overrides dispose to clean up the component list. Protected 'Form overrides Overloads dispose Overrides to clean Sub Dispose(ByVal up the component disposing list. As Boolean) Protected If disposing Overloads Then Overrides Sub Dispose(ByVal disposing As Boolean) If If disposing Not (components Then Is Nothing) Then If Not (components Is Nothing) Then Ifcomponents.Dispose() End IfEnd If MyBase.Dispose(disposing) End If End Sub MyBase.Dispose(disposing) 'Required End Sub by the Windows Form Designer Private 'Required components by the Windows As System.ComponentModel.IContainer Form Designer Private components As System.ComponentModel.IContainer Friend WithEvents TextBox1 As System.Windows.Forms.TextBox Friend Friend WithEvents Button1 TextBox1 As As System.Windows.Forms.Button System.Windows.Forms.TextBox <System.Diagnostics.DebuggerStepThrough()> Friend WithEvents Button1 As System.Windows.Forms.Button Private Sub InitializeComponent() <System.Diagnostics.DebuggerStepThrough()> Me.TextBox1 = New System.Windows.Forms.TextBox Private Sub InitializeComponent() Me.Button1 Me.TextBox1 = New = New System.Windows.Forms.Button System.Windows.Forms.TextBox Me.SuspendLayout() Me.Button1 = New System.Windows.Forms.Button ' Me.SuspendLayout() 'TextBox1 ' ' 'TextBox1 Me.TextBox1.Location ' = New System.Drawing.Point(24, 16) Me.TextBox1.Multiline Me.TextBox1.Location = True New System.Drawing.Point(24, 16) Me.TextBox1.Name Me.TextBox1.Multiline = "TextBox1" = True Me.TextBox1.Size Me.TextBox1.Name = = New "TextBox1" System.Drawing.Size(200, 168) Me.TextBox1.TabIndex Me.TextBox1.Size = New = 0 System.Drawing.Size(200, 168) Me.TextBox1.Text Me.TextBox1.TabIndex = "" = 0 ' Me.TextBox1.Text = "" 'Button1 ' ' 'Button1 Me.Button1.Location ' = New System.Drawing.Point(200, 192) Me.Button1.Name Me.Button1.Location = "Button1" = New System.Drawing.Point(200, 192) Me.Button1.Size Me.Button1.Name = = New "Button1" System.Drawing.Size(80, 56) Me.Button1.TabIndex Me.Button1.Size = New = 1 System.Drawing.Size(80, 56) Me.Button1.Text Me.Button1.TabIndex = "E&xit" = 1 ' Me.Button1.Text = "E&xit" 'Form1 ' ' 'Form1 Me.AutoScaleBaseSize ' = New System.Drawing.Size(5, 13) Me.ClientSize Me.AutoScaleBaseSize = New System.Drawing.Size(292, = New System.Drawing.Size(5, 266) 13) Me.Controls.Add(Me.Button1) Me.ClientSize = New System.Drawing.Size(292, 266) Me.Controls.Add(Me.TextBox1) Me.Controls.Add(Me.Button1) Me.Name Me.Controls.Add(Me.TextBox1) = "Form1" Me.Text Me.Name = = "Form1" Me.ResumeLayout(False) Me.Text = "Form1" Me.ResumeLayout(False) End Sub End Sub #End Region #End Region Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim j As Integer Dim prime As Boolean Dim i As Integer For i = 1 To 100 prime = True For j = 2 To (i / 2) If ((i Mod j) = 0) Then prime = False End If Next j If (prime = True) Then TextBox1.Text = TextBox1.Text & "," & Str(i) End If Next i End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Application.Exit() End Sub End Class Example VB.NET Code W.Buchanan (35)

36 using System; using using System.Drawing; System; using using System.Collections; System.Drawing; using using System.ComponentModel; System.Collections; using using System.Windows.Forms; System.ComponentModel; using using System.Data; System.Windows.Forms; using System.Data; namespace WindowsApplication1 namespace WindowsApplication1 public class Form1 : System.Windows.Forms.Form public class Form1 : System.Windows.Forms.Form private System.Windows.Forms.TextBox textbox1; private System.Windows.Forms.Button System.Windows.Forms.TextBox button1; textbox1; /// private <summary> System.Windows.Forms.Button button1; /// /// Required <summary> designer variable. /// /// </summary> Required designer variable. private /// </summary> System.ComponentModel.Container components = null; private System.ComponentModel.Container components = null; public Form1() public Form1() InitializeComponent(); InitializeComponent(); protected override void Dispose( bool disposing ) protected override void Dispose( bool disposing ) if( disposing ) if( disposing ) if (components!= null) if (components!= null) components.dispose(); components.dispose(); base.dispose( disposing ); base.dispose( disposing ); #region Windows Form Designer generated code private #region void Windows InitializeComponent() Form Designer generated code private void InitializeComponent() this.textbox1 = new System.Windows.Forms.TextBox(); this.button1 this.textbox1 = new = new System.Windows.Forms.Button(); System.Windows.Forms.TextBox(); this.suspendlayout(); this.button1 = new System.Windows.Forms.Button(); this.suspendlayout(); // // // textbox1 // // textbox1 this.textbox1.location // = new System.Drawing.Point(24, 16); this.textbox1.multiline this.textbox1.location = true; new System.Drawing.Point(24, 16); this.textbox1.name this.textbox1.multiline = "textbox1"; = true; this.textbox1.name = "textbox1"; this.textbox1.size = new System.Drawing.Size(184, 152); this.textbox1.size = new System.Drawing.Size(184, 152); this.textbox1.tabindex = 0; this.textbox1.text this.textbox1.tabindex = ""; = 0; // this.textbox1.text = ""; // // button1 // // button1 this.button1.location // = new System.Drawing.Point(200, 208); this.button1.name this.button1.location = "button1"; = new System.Drawing.Point(200, 208); this.button1.size this.button1.name = = new "button1"; System.Drawing.Size(72, 48); this.button1.tabindex this.button1.size = new = 1; System.Drawing.Size(72, 48); this.button1.text this.button1.tabindex = "E&xit"; = 1; this.button1.click this.button1.text += = "E&xit"; new System.EventHandler(this.button1_Click); // this.button1.click += new System.EventHandler(this.button1_Click); // Example C# code // Form1 // this.autoscalebasesize = new System.Drawing.Size(5, 13); this.clientsize = new System.Drawing.Size(292, 266); this.controls.add(this.button1); this.controls.add(this.textbox1); this.name = "Form1"; this.text = "Form1"; this.load += new System.EventHandler(this.Form1_Load); this.resumelayout(false); #endregion /// </summary> [STAThread] static void Main() Application.Run(new Form1()); private void Form1_Load(object sender, System.EventArgs e) int i, j; bool prime; for (i=0;i<100;i++) prime = true; for (j=2;j<=i/2;j++) if ((i%j)==0) prime=false; if (prime==true) textbox1.text+=" " + Convert.ToString(i); private void button1_click(object sender, System.EventArgs e) Application.Exit(); W.Buchanan (36)

37 Benefits Why C#? Why? W.Buchanan (37)

38 C Language Language #include #include <stdio.h> <stdio.h> #include #include <math.h> <math.h> int int main(void) main(void) float float a,b,c,real1,real2,imag; a,b,c,real1,real2,imag; puts("program puts("program to to determine determine roots roots of of a a quadratic quadratic equation"); equation"); printf("enter printf("enter a,b a,b and and c c >>>"); >>>"); scanf("%f scanf("%f %f %f %f",&a,&b,&c); %f",&a,&b,&c); printf("equation printf("equation is is %.2fx*x %.2fx*x + + %.2fx %.2fx + + %.2f\n",a,b,c); %.2f\n",a,b,c); if if ((b*b)==(4*a*c)) ((b*b)==(4*a*c)) real1=-b/(2*a); real1=-b/(2*a); printf("root printf("root is is %.2f\n",real1); %.2f\n",real1); else else if if ((b*b)>(4*a*c)) ((b*b)>(4*a*c)) real1=(-b+sqrt( real1=(-b+sqrt( (b*b)-4*a*c (b*b)-4*a*c )) )) /(2*a); /(2*a); -Flexible. real2=(-b-sqrt( real2=(-b-sqrt( (b*b)-4*a*c (b*b)-4*a*c )) )) /(2*a); /(2*a); printf("roots printf("roots are are %.2f, %.2f, %.2f\n",real1,real2); %.2f\n",real1,real2); else else real1=-b/(2*a); real1=-b/(2*a); imag=sqrt(4*a*c-b*b)/(2*a); imag=sqrt(4*a*c-b*b)/(2*a); printf("roots printf("roots are are %.2f %.2f +/- +/- j%.2f\n",real1,imag); j%.2f\n",real1,imag); return(0); return(0); C Programming to Advantages: Advantages: -Minimal -Minimal language. language. -Standardized. -Standardized. -Flexible. Disadvantages: Disadvantages: -Weak -Weak checking checking for for errors. errors. -Focused -Focused on on procedures procedures rather rather than than data. data. -Lack -Lack of of support support for for graphics graphics (such (such as as Windows). Windows). W.Buchanan (38)

39 C Language C++ C++ Language Language #include #include <iostream.h> <iostream.h> class class circuit circuit private: private: float float rtemp; rtemp; public: public: float float parallel(float parallel(float r1, r1, float float r2) r2) return((r1*r2)/(r1+r2)); return((r1*r2)/(r1+r2)); float float series(float series(float r1, r1, float float r2) r2) return(r1+r2); return(r1+r2); ; ; int int main(void) main(void) circuit circuit c1; c1; float float res; res; res=c1.series(2000,1000); res=c1.series(2000,1000); cout cout << << "Series "Series resistance resistance is is " " << << res res << << "ohms\n"; "ohms\n"; res=c1.parallel(1000,1000); res=c1.parallel(1000,1000); cout cout << << "Parallel "Parallel resistance resistance is is " " << << res res << << "ohms\n"; "ohms\n"; return(0); return(0); C Programming to Object-orientation added Advantages: Advantages: -Standardized. -Standardized. -Flexible. -Flexible. -Object-oriented. -Object-oriented. -Improved -Improved error error checking. checking. -Improved -Improved Windows Windows support support Disadvantages: Disadvantages: -Still -Still a hybrid hybrid language language (C (C and/or and/or C++). C++). -Still -Still too too generic. generic. -Lack -Lack of of integration integration with with other other languages. languages. W.Buchanan (39)

40 C Language using using System; System; C++ Language namespace namespace ConsoleApplication2 ConsoleApplication2 public public class class Circuit Circuit public public double double Parallel(double Parallel(double r1, r1, double double r2) r2) return((r1*r2)/(r1+r2)); return((r1*r2)/(r1+r2)); public public double double Series(double Series(double r1, r1, double double r2) r2) Advantages: Advantages: return(r1+r2); return(r1+r2); -Robust. -Robust. class class Class1 Class1 -Cross-platform. -Cross-platform. static static void void Main(string[] Main(string[] args) args) double double v1=100,v2=100; v1=100,v2=100; double double res; res; Circuit Circuit cir cir = = new new Circuit(); Circuit(); res=cir.parallel(v1,v2); res=cir.parallel(v1,v2); Disadvantages: System.Console.WriteLine("Parallel System.Console.WriteLine("Parallel resistance resistance is Disadvantages: is 0 0 ohms",res); ohms",res); res=cir.series(100,100); res=cir.series(100,100); System.Console.WriteLine("Series System.Console.WriteLine("Series resistance resistance is is 0 environment. 0 environment. ohms",res); ohms",res); System.Console.ReadLine(); System.Console.ReadLine(); C Programming to C# C# Language Language Windows/ WWW/ Java ideas -Fully -Fully object-oriented. object-oriented. -Integrated -Integrated with with Windows. Windows. -Support -Support for for mobility. mobility. -Strong -Strong integration integration with with -Massive -Massive programming programming W.Buchanan (40)

41 The gap between C and VB is now closed as both provide an excellent environment for software development. VB.NET is aimed at Microsoft Office and WWW-based Applications, as it integrates well with VBA and ASP. VB has traditionally supported unstructured code, but this has now changed. C# is aimed at engineering applications, and allows for more flexibility, such as using pointers. There is also a great amount of code developed for many different applications, such as DSP, interfacing, and so on. Why C#? W.Buchanan (41)

42 Elements of a C# Program What goes where? Why? W.Buchanan (42)

43 using System; namespace ConsoleApplication2 public class Complex public double real; public double imag; public int val set get ; public double mag() return (Math.Sqrt(real*real+imag*imag)); public double angle() return (Math.Atan(imag/real)*180/Math.PI); class Class1 static void Main(string[] args) Complex r = new Complex(); string str; double mag,angle; System.Console.Write("Enter real value >> "); str=system.console.readline(); r.real = Convert.ToInt32(str); be be static. static. System.Console.Write("Enter imag value >> "); str=system.console.readline(); r.imag = Convert.ToInt32(str); mag=r.mag(); angle=r.angle(); System.Console.WriteLine("Mag is 0 and angle is 1",mag,angle); System.Console.ReadLine(); C# Program Outline using. using. Imports Imports types types defined defined in in other other namespaces. namespaces. namespace. namespace. Defines Defines a a unique unique name name for for the the objects. objects. In In this this case case the the objects objects would would have have the the name name of: of: ConsoleApplications2.Complex() ConsoleApplications2.Complex() ConsoleApplicaitons2.Class1() ConsoleApplicaitons2.Class1() Main(). Main(). This This is is the the entry entry point point into into the the program, program, and and defines defines the the start start and and end end of of the the program. program. It It must must be be declared declared inside inside a a class, class, and and must must W.Buchanan (43)

44 using System; namespace ConsoleApplication2 public class Complex public double real; public double imag; public int val set get ; public double mag() return (Math.Sqrt(real*real+imag*imag)); public double angle() return (Math.Atan(imag/real)*180/Math.PI); class Class1 static void Main(string[] args) Complex r = new ConsoleApplication2.Complex(); string str; double mag,angle; System.Console.Write("Enter real value >> "); str=system.console.readline(); r.real = Convert.ToInt32(str); System.Console.Write("Enter imag value >> "); str=system.console.readline(); r.imag = Convert.ToInt32(str); mag=r.mag(); angle=r.angle(); System.Console.WriteLine("Mag is 0 and angle is 1",mag,angle); System.Console.ReadLine(); C# Program Outline namespace. namespace. Defines Defines a a unique unique name name for for the the objects. objects. In In this this case case the the objects objects would would have have the the name name of: of: ConsoleApplications2.Complex() ConsoleApplications2.Complex() ConsoleApplicaitons2.Class1() ConsoleApplicaitons2.Class1() W.Buchanan (44)

45 using. using. Imports Imports types types defined defined in in System.Console.Write("Enter real value >> other "); other namespaces. namespaces. System.Console. W.Buchanan (45)

46 Math.Sqrt(real*real+imag*imag) using. using. Imports Imports types types defined defined in in other other namespaces. namespaces. System.Math. W.Buchanan (46)

47 System: Array, Boolean, Byte, Char, Convert, DateTime, Double, Enum, Int16, Int32, Int 64, Math, Random, String, Void System.Collections: ArrayList, BitArray, Hashtable, Queue, Stack. System.IO: BinaryReader, BinaryWriter, File, Stream, StreamWriter, StreamReader uses System; uses System.Collections; uses System.IO Typical namespaces W.Buchanan (47)

48 .NET Components What are components? Why? W.Buchanan (48)

49 Application uses components to gain access to services MS MS Word Word component MS MS Outlook component MS MS IE IE component New.NET Platform W.Buchanan (49)

50 Conclusions?.NET Languages W.Buchanan (50)

51 3: Arrays and Collections Andrew Cumming, SoC Bill Buchanan, SoC W.Buchanan (1)

52 Course Outline Day 1: Morning Introduction to Object-Orientation, Introduction to.net, Overview of.net Framework,.NET Components. C#. Day 1: Afternoon Data Types, Variables, Converting Data Types, if, for, while, File Handling Day 2: Morning Arrays, System.Collections, ArrayLists, Hashtables. Day 2: Afternoon Reference-Type Variables, Common Reference Types, Object Hierarchy, Namespaces, Debugging. Day 3: Morning Methods, Exceptions, Namespaces, Modules/ Assemblies, Non-visual Components, Regular Expressions, Intellisense, Help, Delegates, Events. Day 3: Afternoon Cerebus, Limit-check components, Power meter class. Course Outline (Day 1 to 3) W.Buchanan (2)

53 Course Outline Day 4: Morning Classes, Encapsulation, Object-Orientation, Classes, Sealed Classes, Interfaces, Abstract Classes. Day 4: Afternoon Using Constructors, Initializing Memory, Objects and Memory, Resource Management. Day 5: Morning Cerebus: 1mW Test. Day 5: Afternoon Operators, Operator Overloading, Attributes, Custom Attributes, Retrieving Attribute Values. Course Outline (Day 4 and 5) W.Buchanan (3)

54 Module 3 Arrays. Reading from CSV files. System.Collections. ArrayLists. HashTables. Introduction W.Buchanan (4)

55 System.Array object: Methods include: BinarySearch() Clear() Clone() Copy() CopyTo() CreateInstance() GetLength() IndexOf() Initialize() LastIndexOf() Reverse() SetValue() Sort() IsFixedSize IsReadOnly Length Performs a binary on a one-dimensional array Sets a range of elements to zero, False or NULL. Make a shallow copy of the array. Copies a range of values in an array. Copies one array to another. Create a multidimensional array. Return the number of elements in the array. Search for an object, and return the first index value of its place. Set all the elements in the array to their default value. Returns the last object in the array. Reverses the array. Sets a specific array element to a value. Performs a sort on the array. Identifies if the array is a fixed size (get only) Identifies if the array is read-only (get only) Identifies the length of the array (get only) W.Buchanan (5)

56 Variables ArrayName k k i i j j Reference to the start of the array space. Allocated on the heap. Element Element 0 Element Element 1 Element Element 2 Element Element 3 Element Element 4 Element Element n-2 n-2 Element Element n-1 n-1 Variables and Arrays W.Buchanan (6)

57 W.Buchanan (7)

58 C# contains the methods of the System.Array object. It also inherits the syntax of C for representing an array index, which uses square brackets to identify the element, such as: myarray[15]; for the element number 15. Note that C# starts its indexing at 0, thus myarray[15] is the 16th element of the array. To declare an array: type[] arrayname; For example to declare an array of doubles: double[] inputvalues; This declares the type of the array. To then to initialize it the following is used: inputvalues = new double[5]; which creates a new array with 5 elements (0 to 4). ArrayName Element 0 Element 1 Element 2 Element 3 Element 4 Element n-2 Element n-1 W.Buchanan (8)

59 namespace ConsoleApplication2 class ArrayExample01 static void getvalues(double[] v) int i; for (i=0;i<v.length;i++) System.Console.Write("Value >> "); v[i]=convert.todouble(system.console.readline()); static double average(double[] v) double total=0; int i; for (i=0;i<v.length;i++) total+=v[i]; return(total/v.length); static void Main(string[] args) int i; double[] inputvalues; double av; inputvalues = new double[5]; getvalues(inputvalues); av=average(inputvalues); System.Console.WriteLine("Average is 0",av); System.Console.ReadLine(); W.Buchanan (9)

60 Note that the declaration of the array type does not actually create the array, and the line: double[] inputvalues; double av av=inputvalues[0]; will cause a build error of: Use of unassigned local variable 'inputvalues' As the array can not been created yet, and just contains a null value. Using an array W.Buchanan (10)

61 The arrays when they are initialized are set to a default value, such as zero for numeric data types, and null for strings. To initialise it with actual values, the required values are contained within curly brackets, such as: double[] vals = 1.2,1.4,1.6,1.8,2.0; string[] menuitems = "File", "Edit", "View", "Insert", "Tool", "Table"; This performs both the declaration of the array and its initialization. Program 3.2 shows an example of the declaration of an array of strings. W.Buchanan (11)

62 using System; namespace ConsoleApplication2 class ArrayExample01 static void Main(string[] args) int i; string[] ColourBands="BLACK","BROWN","RED","ORANGE","YELLOW", "GREEN"; for (i=0;i<colourbands.length;i++) System.Console.WriteLine("0 is 1",i,ColourBands[i]); System.Console.ReadLine(); W.Buchanan (12)

63 using System; namespace ConsoleApplication2 class ArrayExample01 static double findsmallest(double[] v) double smallest; smallest=v[0]; for (int i=1; i<v.length; i++) if (v[i]<smallest) smallest = v[i]; return(smallest); static void Main(string[] args) int i; double[] vals = 1.2,4.5,13.3,10.1,-4.3,52.5,6.2; double smallest; smallest= findsmallest(vals); System.Console.WriteLine("Smallest value is 0",smallest); System.Console.ReadLine(); W.Buchanan (13)

64 foreach (type identifier in expression) statement Thus: for (i=0;i<colourbands.length;i++) System.Console.WriteLine("0 is 1",i,ColourBands[i]); is replaced by (Program3_3_ArrayInitializationNumericForEach): foreach (string band in ColourBands) System.Console.WriteLine("0",band); For the example in Program 3.2 we can replace: for (int i=1; i<v.length; i++) if (v[i]<smallest) smallest = v[i]; with (Program3_4_ArrayInitializationStringsForEach): foreach (double val in v) if (val<smallest) smallest = val; foreach W.Buchanan (14)

65 using System; namespace ConsoleApplication2 class ArrayExample01 static double findsmallest(double[] v) double smallest; smallest=v[0]; foreach (double val in v) if (val<smallest) smallest = val; return(smallest); static void Main(string[] args) int i; double[] vals = 1.2,4.5,13.3,10.1,-4.3,52.5,6.2; double smallest; smallest= findsmallest(vals); System.Console.WriteLine("Smallest value is 0",smallest); System.Console.ReadLine(); W.Buchanan (15)

66 1,5,6,7,4,5,6,7,10,5,4,3,2,1 For this we can read the file one line at a time, and then split the string using the Split() method. This can be contained with the foreach statement, to parse each part of the split text. The code which fills the array v is: do text=reader.readline(); if (text==null) break; foreach (string substring in text.split(',')) v[i]=convert.todouble(substring); i++; while (text!= null); Reading a CSV file W.Buchanan (16)

67 class ArrayExample02 const int ARRAYLIMIT=100; static void filldata(double[] v) int i=0; FileInfo thesourcefile = new FileInfo("..\\..\\test.csv"); StreamReader reader = thesourcefile.opentext(); string text; do text=reader.readline(); if (text==null) break; foreach (string substring in text.split(',')) v[i]=convert.todouble(substring); i++; while (text!= null); reader.close(); W.Buchanan (17)

68 Often the CSV file is organised into rows with comma separated variables in each row. This is similar to a spreadsheet where the row is represented by a line, and the columns are delimited by commas. For example: Fred,20 Bert,10 Colin,15 Berty,26 Freddy,22 We can then modify the reading method to parse the input line from the CSV file: do text=reader.readline(); if (text==null) break; string[] str =text.split(','); name[i]=str[0]; age[i]=convert.toint32(str[1]); i++; while (text!= null); CSV W.Buchanan (18)

69 Microsoft.Win32 System System.Collections System.Configuration System.Configuration.Assemblies System.Diagnostics System.Diagnostics.SymbolStore System.Globalization System.IO System.IO.IsolatedStorage System.Reflection System.Reflection.Emit System.Resources System.Runtime System.Runtime.CompilerServices System.Runtime.InteropServices System.Runtime.InteropServices.Expando System.Runtime.Remoting System.Runtime.Remoting.Activation System.Runtime.Remoting.Channels System.Runtime.Remoting.Contexts System.Runtime.Remoting.Lifetime System.Runtime.Remoting.Messaging System.Runtime.Remoting.Metadata System.Runtime.Remoting.Proxies System.Runtime.Remoting.Services System.Runtime.Serialization System.Runtime.Serialization.Formatters System.Security System.Security.Cryptography Typical Namespaces W.Buchanan (19)

70 System.Collections ArrayList BitArray CaseInsensitiveComparer CaseInsensitiveHashCodeProvider CollectionBase Comparer DictionaryBase DictionaryEntry Hashtable Queue ReadOnlyCollectionBase SortedList Stack W.Buchanan (20)

71 Conclusions?.NET Languages W.Buchanan (21)

72 Andrew Cumming, SoC Bill Buchanan, SoC W.Buchanan (1)

73 Course Outline Day 1: Morning Introduction to Object-Orientation, Introduction to.net, Overview of.net Framework,.NET Components. C#. Day 1: Afternoon Data Types, Variables, Converting Data Types, if, for, while, File Handling Day 2: Morning Arrays, System.Collections, ArrayLists, Hashtables. Day 2: Afternoon Reference-Type Variables, Common Reference Types, Object Hierarchy, Namespaces, Debugging. Day 3: Morning Methods, Exceptions, Namespaces, Modules/ Assemblies, Non-visual Components, Regular Expressions, Intellisense, Help, Delegates, Events. Day 3: Afternoon Cerebus, Limit-check components, Power meter class. Course Outline (Day 1 to 3) W.Buchanan (2)

74 Course Outline Day 4: Morning Classes, Encapsulation, Object-Orientation, Classes, Sealed Classes, Interfaces, Abstract Classes. Day 4: Afternoon Using Constructors, Initializing Memory, Objects and Memory, Resource Management. Day 5: Morning Cerebus: 1mW Test. Day 5: Afternoon Operators, Operator Overloading, Attributes, Custom Attributes, Retrieving Attribute Values. Course Outline (Day 4 and 5) W.Buchanan (3)

75 Module 7 Classes and objects. Revision! Using encapsulation. Defining Object-Oriented Systems. Inheritance. Sealed classes. Overriding classes. Introduction W.Buchanan (4)

76 An Introduction to Object- Orientation Bill Buchanan Introduction W.Buchanan (5)

77 Some Cups W.Buchanan (6)

78 Parameter Cup 1 Cup 2 Cup3 Shape (Standard/Square/Mug) Standard Square Mug Colour (Red/Blue/Green) Blue Red Green Size (Small/Medium/Large) Small Large Small Transparency (0 to 100%) 100% 50% 25% Handle type (Small/Large) Small Small Large In object-orientation:a collection of parameters defines a class. Class for the cup is thus: Shape, Colour, Size, Transparency, HandleType. In object-orientation: Objects are created from classes. A Quick Introduction to Object-Orientation W.Buchanan (7)

79 using System; namespace ConsoleApplication2 Class definitions public class Cup public string Shape; public string Colour; public string Size; public int Transparency; public string Handle; Available variables (properties) Method public void DisplayCup() System.Console.WriteLine("Cup is 0, 1", Colour, Handle); class Class1 static void Main(string[] args) Cup cup = new Cup(); cup.colour = "Red"; cup.handle = "Small"; cup.displaycup(); System.Console.ReadLine(); Create new object Set properties Apply method Example C# Program using Object-Orientation W.Buchanan (8)

80 using System; namespace ConsoleApplication2 public class Circuit public double Parallel(double r1, double r2) return((r1*r2)/(r1+r2)); public double Series(double r1, double r2) return(r1+r2); Class definitions class Class1 static void Main(string[] args) double v1=100,v2=100; double res; Circuit cir = new Circuit(); res=cir.parallel(v1,v2); System.Console.WriteLine("Parallel resistance is 0 ohms",res); res=cir.series(100,100); System.Console.WriteLine("Series resistance is 0 ohms",res); System.Console.ReadLine(); Another example W.Buchanan (9)

81 using System; namespace ConsoleApplication2 public class Complex public double real; public double imag; public double mag() return (Math.Sqrt(real*real+imag*imag)); public double angle() return (Math.Atan(imag/real)*180/Math.PI); class Class1 static void Main(string[] args) string str; double mag,angle; Complex r = new Complex(); System.Console.Write("Enter real value >>"); str=system.console.readline(); r.real = Convert.ToInt32(str); System.Console.Write("Enter imag value >>"); str=system.console.readline(); r.imag = Convert.ToInt32(str); mag=r.mag(); angle=r.angle(); System.Console.WriteLine("Mag is 0 and angle is 1",mag,angle); System.Console.ReadLine(); z = x + jy z z = x 2 = tan + y 1 2 y x Another example W.Buchanan (10)

82 Object Properties Bill Buchanan Introduction W.Buchanan (11)

83 Make. This could be Ford, Vauxhall, Nissan or Toyota. Type. This could be Vectra, Astra, or Mondeo. Colour. This could be colours such as Red, Green or Blue. Country of Manufacture. This could be countries such as UK, Germany or France. Car properties W.Buchanan (12)

84 using using System; System; namespace namespace sample01 sample01 public public class class Car Car private private string string colour; colour; private private string string type; type; private private string string make; make; private private string string country; country; private private double double cost; cost; public public string string Colour Colour get get return return colour; colour; set set colour=value; colour=value; public public string string Type Type get get return return type; type; set set type=value; type=value; public public string string Country Country get get return return country; country; set set country=value; country=value; public public string string Make Make get get return return make; make; set set make=value; make=value; public public double double Cost Cost get return cost; get return cost; set cost=value; set cost=value; Relationship Tree class Class1 static void Main(string[] args) Car car1 = new Car(); car1.colour="red"; car1.make="ford"; car1.type="mondeo"; car1.colour="uk"; car1.cost=15000; Console.WriteLine( "Car is a " + car1.make + " " + car1.type); Console.ReadLine(); W.Buchanan (13)

85 public double Cost get return cost; Read-only Read/write public double Cost set val=value; public double Cost set val=value; get return cost; Write-only Read-only, write-only and read/write properties W.Buchanan (14)

86 Object-Orientation Bill Buchanan Introduction W.Buchanan (15)

87 Let s Look At Real Objects W.Buchanan (16)

88 Plants Plants Animals Minerals Skin with fur/hair. Red blooded. Warm blooded. Backbone Vertebrates Mammals Invertebrates Birds Birds Classification W.Buchanan (17)

89 Collection Vertebrates Mammals Increasing generalisation Cats Cats Dogs Dogs Horses Horses Lion Lion Tiger Tiger Relationship Tree Domestic Domestic Shared behaviours and characteristics Increasing specialisation W.Buchanan (18)

90 containers System Increasing generalisation Windows IO IO Drawing Component Component Model Model Design Design Forms Forms Label Label Combo Combo Box Box Button Button Form Form Class Increasing specialisation Relationship Tree W.Buchanan (19)

91 using using System.Collections; System.Collections; using using System.Windows.Forms; System.Windows.Forms; Derived using using System.Data; System.Data; namespace namespace WindowsApplication3 class WindowsApplication3 public public class class Form1 Form1 : : System.Windows.Forms.Form Base System.Windows.Forms.Form containers class private private System.Windows.Forms.Button System.Windows.Forms.Button button1; button1; private private System.Windows.Forms.TextBox System.Windows.Forms.TextBox textbox1; textbox1; public public Form1() Form1() System InitializeComponent(); InitializeComponent(); private private void void InitializeComponent() InitializeComponent() this.button1 this.button1 = new new System.Windows.Forms.Button(); System.Windows.Forms.Button(); this.textbox1 this.textbox1 = = new new System.Windows.Forms.TextBox(); System.Windows.Forms.TextBox(); this.button1.location this.button1.location = = new new System.Drawing.Point(152, System.Drawing.Point(152, 192); 192); this.button1.name this.button1.name = = "button1"; "button1"; this.button1.tabindex this.button1.tabindex = = 0; 0; this.button1.text this.button1.text = = "button1"; "button1"; this.textbox1.location this.textbox1.location = = new new System.Drawing.Point(80, System.Drawing.Point(80, 64); 64); this.textbox1.name this.textbox1.name = = "textbox1"; "textbox1"; this.textbox1.text this.textbox1.text = = "textbox1"; "textbox1"; Component this.controls.add(this.textbox1); Component this.controls.add(this.textbox1); Forms Model this.controls.add(this.button1); Forms Model this.controls.add(this.button1); this.name this.name = = "Form1"; "Form1"; this.text this.text = = "Form1"; "Form1"; Design this.load Design this.load += += new new System.EventHandler(this.Form1_Load); System.EventHandler(this.Form1_Load); this.resumelayout(false); this.resumelayout(false); static Combo static void void Main() Main() Combo Label Box Application.Run(new Label Form1()); Box Application.Run(new Form1()); Relationship private void Form1_Load(object private voidtree sender, System.EventArgs e) Form1_Load(object sender, System.EventArgs e) W.Buchanan (20) this means Windows this object (which is Form1)

92 Inheritance Bill Buchanan Introduction W.Buchanan (21)

93 Inheritance Derives characteristics and behaviours from those above us. Inheritance W.Buchanan (22)

94 using using System; System; namespace namespace ConsoleApplication1 ConsoleApplication1 class class People People private private string string name; name; public containers public string string Name Name get get return return name; name; set set name=value; name=value; System public public void void ToLowerCase() ToLowerCase() name=name.tolower(); name=name.tolower(); class class Profile Profile : : People People // // Inherit Inherit from from People People public public void void Display() Display() Windows Console.WriteLine("Name: Console.WriteLine("Name: "+Name); "+Name); class class Test Test Component static Component static void void Main() Main() Forms Model Forms Model Profile Profile p1 p1 = = new new Profile(); Profile(); p1.name="fred"; p1.name="fred"; Design p1.tolowercase(); Design p1.tolowercase(); p1.display(); p1.display(); System.Console.ReadLine(); System.Console.ReadLine(); Combo Combo Label Box Label Box Inheritance Inherent from People Method derived from People People People Name: fred Profile Profile W.Buchanan (23)

95 using using System; System; namespace namespace ConsoleApplication1 ConsoleApplication1 class class People People private private string string name; name; public containers public string string Name Name get get return return name; name; set set name=value; name=value; System public public void void ToLowerCase() ToLowerCase() name=name.tolower(); name=name.tolower(); class class Profile Profile : : People People // // Inherit Inherit from from People People public public void void Display() Display() Windows Console.WriteLine("Name: Console.WriteLine("Name: "+Name); "+Name); class class Test Test Component static Component static void void Main() Main() Forms Model Forms Model Profile Profile p1 p1 = = new new Profile(); Profile(); Profile Profile p2 p2 = = new new Profile(); Profile(); Design p1.name="fred"; Design p1.name="fred"; p2.name="bert"; p2.name="bert"; p1.tolowercase(); p1.tolowercase(); p1.display(); Combo p1.display(); Combo p2.display(); p2.display(); Label Box System.Console.ReadLine(); Label Box System.Console.ReadLine(); Inheritance Inherent from People People People Name: fred Name: Bert Profile Profile W.Buchanan (24)

96 using using System; System; namespace namespace ConsoleApplication1 ConsoleApplication1 sealed sealed class class People People private private string string name; name; public containers public string string Name Name get get return return name; name; set set name=value; name=value; System public public void void ToLowerCase() ToLowerCase() name=name.tolower(); name=name.tolower(); class class Profile Profile : : People People // // Inherit Inherit from from People People public public void void Display() Display() Windows Console.WriteLine("Name: Console.WriteLine("Name: "+Name); "+Name); class class Test Test Component static Component static void void Main() Main() Forms Model Forms Model Profile Profile p1 p1 = = new new Profile(); Profile(); p1.name="fred"; p1.name="fred"; Design p1.tolowercase(); Design p1.tolowercase(); p1.display(); p1.display(); System.Console.ReadLine(); System.Console.ReadLine(); Combo Combo Label Box Label Box Sealed Classes Inherent from People People People Profile Profile 'ConsoleApplication1.Profile' : cannot inherit from sealed class 'ConsoleApplication1.People' W.Buchanan (25)

97 Overriding Classes Bill Buchanan Introduction W.Buchanan (26)

98 using using System; System; namespace namespace ConsoleApplication1 ConsoleApplication1 class class Test Test class class People People static static void void Main() Main() private private string string name; name; Profile Profile p1 p1 = = new new Profile(); Profile(); public public string string Name Name p1.name="fred"; p1.name="fred"; get get return return name; name; set set name=value; p1.tolowercase(); name=value; p1.tolowercase(); p1.display(); p1.display(); public public virtual virtual void void ToLowerCase() ToLowerCase() System.Console.ReadLine(); System.Console.ReadLine(); name=name.tolower(); name=name.tolower(); class class Profile Profile : : People People // // Inherit Inherit from from People People public public void void Display() Display() Method has been overwritten Console.WriteLine("Name: Console.WriteLine("Name: "+Name); "+Name); Name: Fred public public override override void void ToLowerCase() ToLowerCase() Console.WriteLine("Method Console.WriteLine("Method has has been been overwritten"); overwritten"); W.Buchanan (27) Overriding classes

99 Object Equals(). Determines if two objects are the same. Finalize(). Cleans up the object (the destructor). GetHashCode(). Allows an object to define its hash code. GetType(). Determine the type of an object. MemberwiseClone(). Create a copy of the object. ReferenceEquals(). Determines whether two objects are of the same instance. ToString(). Convert an object to a string. Methods for the default object W.Buchanan (28)

100 using using System; System; namespace namespace ConsoleApplication1 ConsoleApplication1 class class Test Test class class People People static static void void Main() Main() private private string string name; name; public public string string Name Profile Name Profile p1 p1 = = new new Profile(); Profile(); p1.name="fred"; p1.name="fred"; get get return return name; string name; string str=p1.tostring(); str=p1.tostring(); set set name=value; Console.WriteLine(str); name=value; Console.WriteLine(str); System.Console.ReadLine(); System.Console.ReadLine(); public public virtual virtual void void ToLowerCase() ToLowerCase() name=name.tolower(); name=name.tolower(); class class Profile Profile : : People People // // Inherit Inherit from from People People public public void void Display() Display() Console.WriteLine("Name: Console.WriteLine("Name: "+Name); "+Name); public public override override string string ToString() ToString() return("cannot return("cannot implement implement this this method"); method"); W.Buchanan (29)

101 Abstract Classes Bill Buchanan Introduction W.Buchanan (30)

102 Here Here is is the the new new object, object, but but you you can t can t use use it it unless unless you you implement your your own own OpenTheBox() method! Okay. Okay. It s It s worth worth it. it. I ll I ll do do that. that. Abstract Classes W.Buchanan (31)

103 An example W.Buchanan (32)

104 using using System; System; namespace namespace ConsoleApplication1 ConsoleApplication1 abstract abstract class class People People private private string string name; name; public public string string Name Name get get return return name; name; set set name=value; name=value; public public void void ToLowerCase() ToLowerCase() name=name.tolower(); name=name.tolower(); abstract abstract public public void void DisplayLower(); DisplayLower(); class class Profile Profile : : People People // // Inherit Inherit from from People People public public void void Display() Display() Console.WriteLine("Name: Console.WriteLine("Name: "+Name); "+Name); class class Test Test static static void void Main() Main() Profile Profile p1 p1 = = new new Profile(); Profile(); p1.name="fred"; p1.name="fred"; p1.tolowercase(); p1.tolowercase(); p1.display(); p1.display(); p1.displaylower(); p1.displaylower(); System.Console.ReadLine(); System.Console.ReadLine(); 'ConsoleApplication1.Profile' does not implement inherited abstract member 'ConsoleApplication1.People.DisplayLower()' Abstract Classes W.Buchanan (33)

105 using System; namespace ConsoleApplication1 abstract class People private string name; public string Name get return name; set name=value; public void ToLowerCase() name=name.tolower(); abstract public void DisplayLower(); class Profile : People // Inherit from People public void Display() Console.WriteLine("Name: "+Name); public override void DisplayLower() Console.WriteLine("Name: "+Name.ToUpper()); Abstract Classes class class Test Test static static void void Main() Main() Profile Profile p1 p1 = = new new Profile(); Profile(); p1.name="fred"; p1.name="fred"; p1.tolowercase(); p1.tolowercase(); p1.display(); p1.display(); p1.displaylower(); p1.displaylower(); System.Console.ReadLine(); System.Console.ReadLine(); Name: fred Name: FRED W.Buchanan (34)

106 Andrew Cumming, SoC Bill Buchanan, SoC W.Buchanan (1)

107 Course Outline Day 1: Morning Introduction to Object-Orientation, Introduction to.net, Overview of.net Framework,.NET Components. C#. Day 1: Afternoon Data Types, Variables, Converting Data Types, if, for, while, File Handling Day 2: Morning Arrays, System.Collections, ArrayLists, Hashtables. Day 2: Afternoon Reference-Type Variables, Common Reference Types, Object Hierarchy, Namespaces, Debugging. Day 3: Morning Methods, Exceptions, Namespaces, Modules/ Assemblies, Non-visual Components, Regular Expressions, Intellisense, Help, Delegates, Events. Day 3: Afternoon Cerebus, Limit-check components, Power meter class. Course Outline (Day 1 to 3) W.Buchanan (2)

108 Course Outline Day 4: Morning Classes, Encapsulation, Object-Orientation, Classes, Sealed Classes, Interfaces, Abstract Classes. Day 4: Afternoon Using Constructors, Initializing Memory, Objects and Memory, Resource Management. Day 5: Morning Cerebus: 1mW Test. Day 5: Afternoon Operators, Operator Overloading, Attributes, Custom Attributes, Retrieving Attribute Values. Course Outline (Day 4 and 5) W.Buchanan (3)

109 Module 8 Interfaces. Constructors and destructors. Static and instance members. Memory. Introduction W.Buchanan (4)

110 Interfaces Bill Buchanan Introduction W.Buchanan (5)

111 Here Here is is the the new new object, object, but but you you must must implement it it in in every every way way that that I I have have defined! Pweh! Pweh! You re You re rather rather strict. strict. Interfaces W.Buchanan (6)

112 r 1 r 2 R T = R 1 + R 2 r 1 Circuit r 2 R 1 R T = R1 + R 2 R 2 Circuit Object W.Buchanan (7)

113 r 1 r 2 R T = R 1 + R 2 r 1 r 2 interface NewCircuit double r1 r1 set; set; get; get; double r2 r2 set; set; get; get; double calcparallel(); double calcseries(); R 1 R T = R1 + R 2 R 2 Interface Definition W.Buchanan (8)

114 r 1 r 2 public class Circuit: NewCircuit private double res1, res2; public double r1 r 1 set res1=value; get return res1; public double r2 r 2 set res2=value; get return res2; public double calcparallel() return((r1*r2)/(r1+r2)); public double calcseries() return(r1+r2); Derived Class Definition R T = R 1 + R 2 R 1 R T = R1 + R 2 R interface NewCircuit double r1 r1 set; set; get; get; double r2 r2 set; set; get; get; double calcparallel(); double calcseries(); 2 W.Buchanan (9)

115 r 1 r 2 public class Circuit: NewCircuit private double res1, res2; public double r1 set res1=value; get return res1; public double r2 set res2=value; get return res2; public double calcparallel() return((r1*r2)/(r1+r2)); public double calcseries() return(r1+r2); Derived Class Definition r 1 r 2 R T = R 1 + R 2 R public class Class1 1 R T = static void Main() R1 + R 2 R Circuit cir = new Circuit(); cir.r1=1000; cir.r2=1000; double res = cir.calcparallel(); System.Console.WriteLine( "Parallel Resistance is " + res); System.Console.ReadLine(); 2 W.Buchanan (10)

116 IOCollection. Defines size, enumerators and synchronization methods for all collections. The public properties are: Count, IsSynchronized and SyncRoot, and a method of CopyTo(). IComparer. Compares two objects. The associated method is Compare(). IEnumerator. Supports iteration over a collection. The properties are Current, and the methods are MoveNext() and Reset(). IList. Represents a collection of objects that are accessed by an index. The properties are IsFixedSize, IsReadOnly, Item, and the methods are: Add(), Clear(), Contains(), IndexOf(), Insert(), Remove() and RemoveAt(). W.Buchanan (11)

117 W.Buchanan (12)

118 The IOCollection defines: The classes which implement IOCollection include: Array. ArrayList. Hastable. Thus an array will have the following properties: Count. IsSynchronized. SyncRoot W.Buchanan (13)

119 W.Buchanan (14)

120 Constructors Bill Buchanan Introduction W.Buchanan (15)

121 A constructor is a method that is called whenever the object is first created. A destructor is a method that is called whenever the object is destroyed. Constructors and destructors W.Buchanan (16)

122 class Profile string code, name, telephone; // Constructor public Profile(string c) code=c; public string Name set name=value; get return name; public string Telephone set telephone=value; get return telephone; public void Display() Console.WriteLine("Code: " + code + " Name: " + name + " Telephone: " + telephone); Console.ReadLine(); W.Buchanan (17)

123 class Profile string code, name, telephone; // Constructor public Profile(string c) code=c; public string Name set name=value; get return name; public string Telephone set telephone=value; pf1.telephone="123456"; pf1.display(); get return telephone; public void Display() class Class1 static void Main(string[] args) Profile pf1=new Profile("00000"); pf1.name="fred Smith"; Console.WriteLine("Code: " + code + " Name: " + name + " Telephone: " + telephone); Console.ReadLine(); W.Buchanan (18)

124 Static and Instance Members Bill Buchanan Introduction W.Buchanan (19)

Introduction to.net. Andrew Cumming, SoC. Introduction to.net. Bill Buchanan, SoC. W.Buchanan (1)

Introduction to.net. Andrew Cumming, SoC. Introduction to.net. Bill Buchanan, SoC. W.Buchanan (1) Andrew Cumming, SoC Bill Buchanan, SoC W.Buchanan (1) Course Outline Day 1: Morning Introduction to Object-Orientation, Introduction to.net, Overview of.net Framework,.NET Components. C#. Day 1: Afternoon

More information

.NET XML Web Services

.NET XML Web Services .NET XML Web Services Bill Buchanan Course Outline Day 1: Introduction to Object-Orientation, Introduction to.net, Overview of.net Framework,.NET Components. C#. Introduction to Visual Studio Environment..

More information

Introduction to.net. Andrew Cumming, SoC. Introduction to.net. Bill Buchanan, SoC. W.Buchanan (1)

Introduction to.net. Andrew Cumming, SoC. Introduction to.net. Bill Buchanan, SoC. W.Buchanan (1) Andrew Cumming, SoC Bill Buchanan, SoC W.Buchanan (1) Course Outline 11-12am 12-1pm: 1-1:45pm 1:45-2pm:, Overview of.net Framework,.NET Components, C#. C# Language Elements Classes, Encapsulation, Object-Orientation,

More information

Classes and Objects. Andrew Cumming, SoC. Introduction to.net. Bill Buchanan, SoC. W.Buchanan (1)

Classes and Objects. Andrew Cumming, SoC. Introduction to.net. Bill Buchanan, SoC. W.Buchanan (1) Classes and Objects Andrew Cumming, SoC Introduction to.net Bill Buchanan, SoC W.Buchanan (1) Course Outline Introduction to.net Day 1: Morning Introduction to Object-Orientation, Introduction to.net,

More information

Classes and Objects. Andrew Cumming, SoC. Introduction to.net. Bill Buchanan, SoC. W.Buchanan (1)

Classes and Objects. Andrew Cumming, SoC. Introduction to.net. Bill Buchanan, SoC. W.Buchanan (1) Classes and Objects Andrew Cumming, SoC Bill Buchanan, SoC W.Buchanan (1) Course Outline 11-12am 12-1pm: 1-1:45pm 1:45-2pm:, Overview of.net Framework,.NET Components, C#. C# Language Elements Classes,

More information

6: Arrays and Collections

6: Arrays and Collections 6: Arrays and Collections Andrew Cumming, SoC Bill Buchanan, SoC W.Buchanan (1) Course Outline Day 1: Morning Introduction to Object-Orientation, Introduction to.net, Overview of.net Framework,.NET Components.

More information

6: Arrays and Collections

6: Arrays and Collections 6: Arrays and Collections Andrew Cumming, SoC Bill Buchanan, SoC W.Buchanan (1) Course Outline Day 1: Morning Introduction to Object-Orientation, Introduction to.net, Overview of.net Framework,.NET Components.

More information

.NET. Details: Name: Course:.Net XML Web Services Introduction to.net Unit: 0 Instructors: Bill Buchanan/ Alistair Lawson. W.Buchanan/A.

.NET. Details: Name: Course:.Net XML Web Services Introduction to.net Unit: 0 Instructors: Bill Buchanan/ Alistair Lawson. W.Buchanan/A. Name: Course:.Net XML Web Services Title: Introduction to.net Unit: 0 Instructors: Bill Buchanan/ Alistair Lawson Details: Login details: Username: lincrea Password: plugtop07 Web page: http:www.dcs.napier.ac.uk/~bill/dotnet_web.htm

More information

User-Defined Controls

User-Defined Controls C# cont d (C-sharp) (many of these slides are extracted and adapted from Deitel s book and slides, How to Program in C#. They are provided for CSE3403 students only. Not to be published or publicly distributed

More information

Classes in C# namespace classtest { public class myclass { public myclass() { } } }

Classes in C# namespace classtest { public class myclass { public myclass() { } } } Classes in C# A class is of similar function to our previously used Active X components. The difference between the two is the components are registered with windows and can be shared by different applications,

More information

Blank Form. Industrial Programming. Discussion. First Form Code. Lecture 8: C# GUI Development

Blank Form. Industrial Programming. Discussion. First Form Code. Lecture 8: C# GUI Development Blank Form Industrial Programming Lecture 8: C# GUI Development Industrial Programming 1 Industrial Programming 2 First Form Code using System; using System.Drawing; using System.Windows.Forms; public

More information

1. Windows Forms 2. Event-Handling Model 3. Basic Event Handling 4. Control Properties and Layout 5. Labels, TextBoxes and Buttons 6.

1. Windows Forms 2. Event-Handling Model 3. Basic Event Handling 4. Control Properties and Layout 5. Labels, TextBoxes and Buttons 6. C# cont d (C-sharp) (many of these slides are extracted and adapted from Deitel s book and slides, How to Program in C#. They are provided for CSE3403 students only. Not to be published or publicly distributed

More information

Module 5: Review of Day 3

Module 5: Review of Day 3 Module 5: Review of Day 3 Andrew Cumming, SoC Bill Buchanan, SoC W.Buchanan (1) Course Outline Day 1: Morning Introduction to Object-Orientation, Introduction to.net, Overview of.net Framework,.NET Components.

More information

In order to create your proxy classes, we have provided a WSDL file. This can be located at the following URL:

In order to create your proxy classes, we have provided a WSDL file. This can be located at the following URL: Send SMS via SOAP API Introduction You can seamlessly integrate your applications with aql's outbound SMS messaging service via SOAP using our SOAP API. Sending messages via the SOAP gateway WSDL file

More information

Module 5: Review of Day 3

Module 5: Review of Day 3 Module 5: Review of Day 3 Andrew Cumming, SoC Bill Buchanan, SoC W.Buchanan (1) Course Outline Day 1: Morning Introduction to Object-Orientation, Introduction to.net, Overview of.net Framework,.NET Components.

More information

This is the start of the server code

This is the start of the server code This is the start of the server code using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Net; using System.Net.Sockets;

More information

Tutorial 5 Completing the Inventory Application Introducing Programming

Tutorial 5 Completing the Inventory Application Introducing Programming 1 Tutorial 5 Completing the Inventory Application Introducing Programming Outline 5.1 Test-Driving the Inventory Application 5.2 Introduction to C# Code 5.3 Inserting an Event Handler 5.4 Performing a

More information

Sub To Srt Converter. This is the source code of this program. It is made in C# with.net 2.0.

Sub To Srt Converter. This is the source code of this program. It is made in C# with.net 2.0. Sub To Srt Converter This is the source code of this program. It is made in C# with.net 2.0. form1.css /* * Name: Sub to srt converter * Programmer: Paunoiu Alexandru Dumitru * Date: 5.11.2007 * Description:

More information

LISTING PROGRAM. //Find the maximum and minimum values in the array int maxvalue = integers[0]; //start with first element int minvalue = integers[0];

LISTING PROGRAM. //Find the maximum and minimum values in the array int maxvalue = integers[0]; //start with first element int minvalue = integers[0]; 1 LISTING PROGRAM using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace SortingApplication static class Program / / The main entry point for

More information

ListBox. Class ListBoxTest. Allows users to add and remove items from ListBox Uses event handlers to add to, remove from, and clear list

ListBox. Class ListBoxTest. Allows users to add and remove items from ListBox Uses event handlers to add to, remove from, and clear list C# cont d (C-sharp) (many of these slides are extracted and adapted from Deitel s book and slides, How to Program in C#. They are provided for CSE3403 students only. Not to be published or publicly distributed

More information

2. A GUI A. uses buttons, menus, and icons B. should be easy for a user to manipulate C. both (a) and (b) D. stands for Graphic Use Interaction

2. A GUI A. uses buttons, menus, and icons B. should be easy for a user to manipulate C. both (a) and (b) D. stands for Graphic Use Interaction 1. Which language is not a true object-oriented programming language? A. VB 6 B. VB.NET C. JAVA D. C++ 2. A GUI A. uses buttons, menus, and icons B. should be easy for a user to manipulate C. both (a)

More information

Tutorial 6 Enhancing the Inventory Application Introducing Variables, Memory Concepts and Arithmetic

Tutorial 6 Enhancing the Inventory Application Introducing Variables, Memory Concepts and Arithmetic Tutorial 6 Enhancing the Inventory Application Introducing Variables, Memory Concepts and Arithmetic Outline 6.1 Test-Driving the Enhanced Inventory Application 6.2 Variables 6.3 Handling the TextChanged

More information

Your Company Name. Tel: Fax: Microsoft Visual Studio C# Project Source Code Output

Your Company Name. Tel: Fax: Microsoft Visual Studio C# Project Source Code Output General Date Your Company Name Tel: +44 1234 567 9898 Fax: +44 1234 545 9999 email: info@@company.com Microsoft Visual Studio C# Project Source Code Output Created using VScodePrint Macro Variables Substitution

More information

UNIT 1. Introduction to Microsoft.NET framework and Basics of VB.Net

UNIT 1. Introduction to Microsoft.NET framework and Basics of VB.Net UNIT 1 Introduction to Microsoft.NET framework and Basics of VB.Net 1 SYLLABUS 1.1 Overview of Microsoft.NET Framework 1.2 The.NET Framework components 1.3 The Common Language Runtime (CLR) Environment

More information

DAD Lab. 1 Introduc7on to C#

DAD Lab. 1 Introduc7on to C# DAD 2017-18 Lab. 1 Introduc7on to C# Summary 1..NET Framework Architecture 2. C# Language Syntax C# vs. Java vs C++ 3. IDE: MS Visual Studio Tools Console and WinForm Applica7ons 1..NET Framework Introduc7on

More information

C# and.net (1) cont d

C# and.net (1) cont d C# and.net (1) cont d Acknowledgements and copyrights: these slides are a result of combination of notes and slides with contributions from: Michael Kiffer, Arthur Bernstein, Philip Lewis, Hanspeter Mφssenbφck,

More information

.Net Technologies. Components of.net Framework

.Net Technologies. Components of.net Framework .Net Technologies Components of.net Framework There are many articles are available in the web on this topic; I just want to add one more article over the web by explaining Components of.net Framework.

More information

C# 2008 and.net Programming for Electronic Engineers - Elektor - ISBN

C# 2008 and.net Programming for Electronic Engineers - Elektor - ISBN Contents Contents 5 About the Author 12 Introduction 13 Conventions used in this book 14 1 The Visual Studio C# Environment 15 1.1 Introduction 15 1.2 Obtaining the C# software 15 1.3 The Visual Studio

More information

CHAPTER 3. Writing Windows C# Programs. Objects in C#

CHAPTER 3. Writing Windows C# Programs. Objects in C# 90 01 pp. 001-09 r5ah.ps 8/1/0 :5 PM Page 9 CHAPTER 3 Writing Windows C# Programs 5 9 Objects in C# The C# language has its roots in C++, Visual Basic, and Java. Both C# and VB.Net use the same libraries

More information

PES INSTITUTE OF TECHNOLOGY

PES INSTITUTE OF TECHNOLOGY Seventh Semester B.E. IA Test-I, 2014 USN 1 P E I S PES INSTITUTE OF TECHNOLOGY C# solution set for T1 Answer any 5 of the Following Questions 1) What is.net? With a neat diagram explain the important

More information

Tutorial 19 - Microwave Oven Application Building Your Own Classes and Objects

Tutorial 19 - Microwave Oven Application Building Your Own Classes and Objects 1 Tutorial 19 - Microwave Oven Application Building Your Own Classes and Objects Outline 19.1 Test-Driving the Microwave Oven Application 19.2 Designing the Microwave Oven Application 19.3 Adding a New

More information

Avoiding KeyStrokes in Windows Applications using C#

Avoiding KeyStrokes in Windows Applications using C# Avoiding KeyStrokes in Windows Applications using C# In keeping with the bcrypt.exe example cited elsewhere on this site, we seek a method of avoiding using the keypad to enter pass words and/or phrases.

More information

Inheriting Windows Forms with Visual C#.NET

Inheriting Windows Forms with Visual C#.NET Inheriting Windows Forms with Visual C#.NET Overview In order to understand the power of OOP, consider, for example, form inheritance, a new feature of.net that lets you create a base form that becomes

More information

INTRODUCTION TO.NET. Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.)

INTRODUCTION TO.NET. Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.) INTRODUCTION TO.NET Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate Language (IL) Just- In-

More information

Web Services in.net (2)

Web Services in.net (2) Web Services in.net (2) These slides are meant to be for teaching purposes only and only for the students that are registered in CSE4413 and should not be published as a book or in any form of commercial

More information

Fall Semester (081) Dr. El-Sayed El-Alfy Computer Science Department King Fahd University of Petroleum and Minerals

Fall Semester (081) Dr. El-Sayed El-Alfy Computer Science Department King Fahd University of Petroleum and Minerals INTERNET PROTOCOLS AND CLIENT-SERVER PROGRAMMING Client SWE344 request Internet response Fall Semester 2008-2009 (081) Server Module 2.1: C# Programming Essentials (Part 1) Dr. El-Sayed El-Alfy Computer

More information

Flag Quiz Application

Flag Quiz Application T U T O R I A L 17 Objectives In this tutorial, you will learn to: Create and initialize arrays. Store information in an array. Refer to individual elements of an array. Sort arrays. Use ComboBoxes to

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

Duhok Polytechnic University Amedi Technical Institute/ IT Dept. Halkawt Rajab Hussain

Duhok Polytechnic University Amedi Technical Institute/ IT Dept. Halkawt Rajab Hussain Duhok Polytechnic University Amedi Technical Institute/ IT Dept. By Halkawt Rajab Hussain 2016-04-02 Overview. C# program structure. Variables and Constant. Conditional statement (if, if/else, nested if

More information

Very similar to Java C++ C-Based syntax (if, while, ) object base class no pointers, object parameters are references All code in classes

Very similar to Java C++ C-Based syntax (if, while, ) object base class no pointers, object parameters are references All code in classes C# Very similar to Java C++ C-Based syntax (if, while, ) object base class no pointers, object parameters are references All code in classes Before we begin You already know and have programmed with Java

More information

Short Notes of CS201

Short Notes of CS201 #includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system

More information

PS2 Random Walk Simulator

PS2 Random Walk Simulator PS2 Random Walk Simulator Windows Forms Global data using Singletons ArrayList for storing objects Serialization to Files XML Timers Animation This is a fairly extensive Problem Set with several new concepts.

More information

The Microsoft.NET Framework

The Microsoft.NET Framework Microsoft Visual Studio 2005/2008 and the.net Framework The Microsoft.NET Framework The Common Language Runtime Common Language Specification Programming Languages C#, Visual Basic, C++, lots of others

More information

CS201 - Introduction to Programming Glossary By

CS201 - Introduction to Programming Glossary By CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with

More information

BackgroundWorker Component Overview 1 Multithreading with the BackgroundWorker Component 3 Walkthrough Running an Operation in the Background 10 How

BackgroundWorker Component Overview 1 Multithreading with the BackgroundWorker Component 3 Walkthrough Running an Operation in the Background 10 How BackgroundWorker Component Overview 1 Multithreading with the BackgroundWorker Component 3 Walkthrough Running an Operation in the Background 10 How to Download a File in the Background 15 How to Implement

More information

.NET XML Web Services

.NET XML Web Services .NET XML Web Services Bill Buchanan Date Title Kalani Unit 0: Introduction to.net - Unit 0: Introduction to.net - Unit 1: Creating/Manipulating Datasets Unit 1 Unit 1: Creating/Manipulating Datasets Unit

More information

Uka Tarsadia University MCA ( 3rd Semester)/M.Sc.(CA) (1st Semester) Course : / Visual Programming Question Bank

Uka Tarsadia University MCA ( 3rd Semester)/M.Sc.(CA) (1st Semester) Course : / Visual Programming Question Bank Unit 1 Introduction to.net Platform Q: 1 Answer in short. 1. Which three main components are available in.net framework? 2. List any two new features added in.net framework 4.0 which is not available in

More information

Module 4: Data Types and Variables

Module 4: Data Types and Variables Module 4: Data Types and Variables Table of Contents Module Overview 4-1 Lesson 1: Introduction to Data Types 4-2 Lesson 2: Defining and Using Variables 4-10 Lab:Variables and Constants 4-26 Lesson 3:

More information

LISTING PROGRAM. // // TODO: Add constructor code after the InitializeComponent()

LISTING PROGRAM. // // TODO: Add constructor code after the InitializeComponent() A-1 LISTING PROGRAM Form Mainform /* * Created by SharpDevelop. * User: Roni Anggara * Date: 5/17/2016 * Time: 8:52 PM * * To change this template use Tools Options Coding Edit Standard Headers. */ using

More information

Department of Computer Applications

Department of Computer Applications MCA 512:.NET framework and C# [Part I : Medium Answer type Questions] Unit - 1 Q1. What different tools are available and used to develop.net Applications? Hint a).net Framework SDK b) ASP.NET Web Matrix

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies Overview of Microsoft.Net Framework: The Dot Net or.net is a technology that is an outcome of Microsoft s new strategy to develop window based robust applications and rich web applications and to keep

More information

OVERVIEW ENVIRONMENT PROGRAM STRUCTURE BASIC SYNTAX DATA TYPES TYPE CONVERSION

OVERVIEW ENVIRONMENT PROGRAM STRUCTURE BASIC SYNTAX DATA TYPES TYPE CONVERSION Program: C#.Net (Basic with advance) Duration: 50hrs. C#.Net OVERVIEW Strong Programming Features of C# ENVIRONMENT The.Net Framework Integrated Development Environment (IDE) for C# PROGRAM STRUCTURE Creating

More information

DC69 C# &.NET JUNE C# is a simple, modern, object oriented language derived from C++ and Java.

DC69 C# &.NET JUNE C# is a simple, modern, object oriented language derived from C++ and Java. Q.2 a. What is C#? Discuss its features in brief. 1. C# is a simple, modern, object oriented language derived from C++ and Java. 2. It aims to combine the high productivity of Visual Basic and the raw

More information

C#.Net. Course Contents. Course contents VT BizTalk. No exam, but laborations

C#.Net. Course Contents. Course contents VT BizTalk. No exam, but laborations , 1 C#.Net VT 2009 Course Contents C# 6 hp approx. BizTalk 1,5 hp approx. No exam, but laborations Course contents Architecture Visual Studio Syntax Classes Forms Class Libraries Inheritance Other C# essentials

More information

6.096 Introduction to C++ January (IAP) 2009

6.096 Introduction to C++ January (IAP) 2009 MIT OpenCourseWare http://ocw.mit.edu 6.096 Introduction to C++ January (IAP) 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. Welcome to 6.096 Lecture

More information

Visual Studio.NET.NET Framework. Web Services Web Forms Windows Forms. Data and XML classes. Framework Base Classes. Common Language Runtime

Visual Studio.NET.NET Framework. Web Services Web Forms Windows Forms. Data and XML classes. Framework Base Classes. Common Language Runtime Intro C# Intro C# 1 Microsoft's.NET platform and Framework.NET Enterprise Servers Visual Studio.NET.NET Framework.NET Building Block Services Operating system on servers, desktop, and devices Web Services

More information

Trusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout

Trusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout 1 Last update: 2 November 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout 2 Lecture 26: Component model: The.NET example Agenda for today 3 What is.net?

More information

UNIT III APPLICATION DEVELOPMENT ON.NET

UNIT III APPLICATION DEVELOPMENT ON.NET UNIT III APPLICATION DEVELOPMENT ON.NET Syllabus: Building Windows Applications, Accessing Data with ADO.NET. Creating Skeleton of the Application Select New->Project->Visual C# Projects->Windows Application

More information

ALPHAPRIMETECH 112 New South Road, Hicksville, NY 11801

ALPHAPRIMETECH 112 New South Road, Hicksville, NY 11801 ALPHAPRIMETECH 112 New South Road, Hicksville, NY 11801 Course Curriculum COMPUTER SYSTEM ANALYST-.NET C# Introduction to.net Framework.NET Framework OverView CLR,CLS MSIL Assemblies NameSpaces.NET Languages

More information

DOT NET Syllabus (6 Months)

DOT NET Syllabus (6 Months) DOT NET Syllabus (6 Months) THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate Language (IL) Just- In- Time Compilation and CLS Disassembling.Net Application to IL

More information

Learning to Program in Visual Basic 2005 Table of Contents

Learning to Program in Visual Basic 2005 Table of Contents Table of Contents INTRODUCTION...INTRO-1 Prerequisites...INTRO-2 Installing the Practice Files...INTRO-3 Software Requirements...INTRO-3 Installation...INTRO-3 Demonstration Applications...INTRO-3 About

More information

Apex TG India Pvt. Ltd.

Apex TG India Pvt. Ltd. (Core C# Programming Constructs) Introduction of.net Framework 4.5 FEATURES OF DOTNET 4.5 CLR,CLS,CTS, MSIL COMPILER WITH TYPES ASSEMBLY WITH TYPES Basic Concepts DECISION CONSTRUCTS LOOPING SWITCH OPERATOR

More information

.Net. Course Content ASP.NET

.Net. Course Content ASP.NET .Net Course Content ASP.NET INTRO TO WEB TECHNOLOGIES HTML ü Client side scripting langs ü lls Architecture ASP.NET INTRODUCTION ü What is ASP.NET ü Image Technique and code behind technique SERVER SIDE

More information

Introduction to Managed Code

Introduction to Managed Code McGrath.book Page 89 Thursday, December 7, 2006 10:04 AM 3 Introduction to Managed Code Technology is dominated by two types of people: those who understand what they do not manage, and those who manage

More information

Lampiran B. Program pengendali

Lampiran B. Program pengendali Lampiran B Program pengendali #pragma once namespace serial using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms;

More information

C++\CLI. Jim Fawcett CSE687-OnLine Object Oriented Design Summer 2017

C++\CLI. Jim Fawcett CSE687-OnLine Object Oriented Design Summer 2017 C++\CLI Jim Fawcett CSE687-OnLine Object Oriented Design Summer 2017 Comparison of Object Models Standard C++ Object Model All objects share a rich memory model: Static, stack, and heap Rich object life-time

More information

Objectives. After completing this topic, the students will: Understand of the concept of polymorphism Know on How to implement 2 types of polymorphism

Objectives. After completing this topic, the students will: Understand of the concept of polymorphism Know on How to implement 2 types of polymorphism Polymorphism Objectives After completing this topic, the students will: Understand of the concept of polymorphism Know on How to implement 2 types of polymorphism Definition Polymorphism provides the ability

More information

COPYRIGHTED MATERIAL. Contents. Part I: C# Fundamentals 1. Chapter 1: The.NET Framework 3. Chapter 2: Getting Started with Visual Studio

COPYRIGHTED MATERIAL. Contents. Part I: C# Fundamentals 1. Chapter 1: The.NET Framework 3. Chapter 2: Getting Started with Visual Studio Introduction XXV Part I: C# Fundamentals 1 Chapter 1: The.NET Framework 3 What s the.net Framework? 3 Common Language Runtime 3.NET Framework Class Library 4 Assemblies and the Microsoft Intermediate Language

More information

This tutorial has been prepared for the beginners to help them understand basics of c# Programming.

This tutorial has been prepared for the beginners to help them understand basics of c# Programming. About thetutorial C# is a simple, modern, general-purpose, object-oriented programming language developed by Microsoft within its.net initiative led by Anders Hejlsberg. This tutorial covers basic C# programming

More information

You can call the project anything you like I will be calling this one project slide show.

You can call the project anything you like I will be calling this one project slide show. C# Tutorial Load all images from a folder Slide Show In this tutorial we will see how to create a C# slide show where you load everything from a single folder and view them through a timer. This exercise

More information

Outline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring

Outline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring Java Outline Java Models for variables Types and type checking, type safety Interpretation vs. compilation Reasoning about code CSCI 2600 Spring 2017 2 Java Java is a successor to a number of languages,

More information

Last Time. Arrays. Arrays. Jagged Arrays. foreach. We began looking at GUI Programming Completed talking about exception handling

Last Time. Arrays. Arrays. Jagged Arrays. foreach. We began looking at GUI Programming Completed talking about exception handling Last Time We began looking at GUI Programming Completed talking about exception handling Arrays, Collections, Hash Tables, 9/22/05 CS360 Windows Programming 1 9/22/05 CS360 Windows Programming 2 Arrays

More information

Chapter 1 Getting Started

Chapter 1 Getting Started Chapter 1 Getting Started The C# class Just like all object oriented programming languages, C# supports the concept of a class. A class is a little like a data structure in that it aggregates different

More information

Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach.

Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach. CMSC 131: Chapter 28 Final Review: What you learned this semester The Big Picture Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach. Java

More information

Absolute C++ Walter Savitch

Absolute C++ Walter Savitch Absolute C++ sixth edition Walter Savitch Global edition This page intentionally left blank Absolute C++, Global Edition Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents

More information

Unit 4. Lesson 4.1. Managing Data. Data types. Introduction. Data type. Visual Basic 2008 Data types

Unit 4. Lesson 4.1. Managing Data. Data types. Introduction. Data type. Visual Basic 2008 Data types Managing Data Unit 4 Managing Data Introduction Lesson 4.1 Data types We come across many types of information and data in our daily life. For example, we need to handle data such as name, address, money,

More information

Programming with Microsoft Visual Basic.NET. Array. What have we learnt in last lesson? What is Array?

Programming with Microsoft Visual Basic.NET. Array. What have we learnt in last lesson? What is Array? What have we learnt in last lesson? Programming with Microsoft Visual Basic.NET Using Toolbar in Windows Form. Using Tab Control to separate information into different tab page Storage hierarchy information

More information

Model Question Paper. Credits: 4 Marks: 140. Part A (One mark questions)

Model Question Paper. Credits: 4 Marks: 140. Part A (One mark questions) Model Question Paper Subject Code: MT0040 Subject Name: VB.Net Credits: 4 Marks: 140 (One mark questions) 1. The is a systematic class framework used for the development of system tools and utilities.

More information

C#: framework overview and in-the-small features

C#: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer C#: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer

More information

Introduce C# as Object Oriented programming language. Explain, tokens,

Introduce C# as Object Oriented programming language. Explain, tokens, Module 2 98 Assignment 1 Introduce C# as Object Oriented programming language. Explain, tokens, lexicals and control flow constructs. 99 The C# Family Tree C Platform Independence C++ Object Orientation

More information

namespace Tst_Form { private: /// <summary> /// Required designer variable. /// </summary> System::ComponentModel::Container ^components;

namespace Tst_Form { private: /// <summary> /// Required designer variable. /// </summary> System::ComponentModel::Container ^components; Exercise 9.3 In Form1.h #pragma once #include "Form2.h" Add to the beginning of Form1.h #include #include For srand() s input parameter namespace Tst_Form using namespace System; using

More information

CS708 Lecture Notes. Visual Basic.NET Object-Oriented Programming. Implementing Client/Server Architectures. Part (I of?) (Lecture Notes 5A)

CS708 Lecture Notes. Visual Basic.NET Object-Oriented Programming. Implementing Client/Server Architectures. Part (I of?) (Lecture Notes 5A) CS708 Lecture Notes Visual Basic.NET Object-Oriented Programming Implementing Client/Server Architectures Part (I of?) (Lecture Notes 5A) Professor: A. Rodriguez CHAPTER 1 IMPLEMENTING CLIENT/SERVER APPLICATIONS...

More information

Chapter 12 Microsoft Assemblies. Software Architecture Microsoft Assemblies 1

Chapter 12 Microsoft Assemblies. Software Architecture Microsoft Assemblies 1 Chapter 12 Microsoft Assemblies 1 Process Phases Discussed in This Chapter Requirements Analysis Design Framework Architecture Detailed Design Key: x = main emphasis x = secondary emphasis Implementation

More information

Unit 1: Visual Basic.NET and the.net Framework

Unit 1: Visual Basic.NET and the.net Framework 1 Chapter1: Visual Basic.NET and the.net Framework Unit 1: Visual Basic.NET and the.net Framework Contents Introduction to.net framework Features Common Language Runtime (CLR) Framework Class Library(FCL)

More information

CS/B.TECH/CSE(New)/SEM-5/CS-504D/ OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 GROUP A. (Multiple Choice Type Question)

CS/B.TECH/CSE(New)/SEM-5/CS-504D/ OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 GROUP A. (Multiple Choice Type Question) CS/B.TECH/CSE(New)/SEM-5/CS-504D/2013-14 2013 OBJECT ORIENTED PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give their answers

More information

CS201 Latest Solved MCQs

CS201 Latest Solved MCQs Quiz Start Time: 09:34 PM Time Left 82 sec(s) Question # 1 of 10 ( Start time: 09:34:54 PM ) Total Marks: 1 While developing a program; should we think about the user interface? //handouts main reusability

More information

In this tutorial we will create a simple calculator to Add/Subtract/Multiply and Divide two numbers and show a simple message box result.

In this tutorial we will create a simple calculator to Add/Subtract/Multiply and Divide two numbers and show a simple message box result. Simple Calculator In this tutorial we will create a simple calculator to Add/Subtract/Multiply and Divide two numbers and show a simple message box result. Let s get started First create a new Visual Basic

More information

Professional ASP.NET Web Services : Asynchronous Programming

Professional ASP.NET Web Services : Asynchronous Programming Professional ASP.NET Web Services : Asynchronous Programming To wait or not to wait; that is the question! Whether or not to implement asynchronous processing is one of the fundamental issues that a developer

More information

C# Syllabus. MS.NET Framework Introduction

C# Syllabus. MS.NET Framework Introduction C# Syllabus MS.NET Framework Introduction The.NET Framework - an Overview Framework Components Framework Versions Types of Applications which can be developed using MS.NET MS.NET Base Class Library MS.NET

More information

Mastering VB.NET using Visual Studio 2010 Course Length: 5 days Price: $2,500

Mastering VB.NET using Visual Studio 2010 Course Length: 5 days Price: $2,500 Mastering VB.NET using Visual Studio 2010 Course Length: 5 days Price: $2,500 Summary Each day there will be a combination of presentations, code walk-throughs, and handson projects. The final project

More information

C# Programming: From Problem Analysis to Program Design. Fourth Edition

C# Programming: From Problem Analysis to Program Design. Fourth Edition C# Programming: From Problem Analysis to Program Design Fourth Edition Preface xxi INTRODUCTION TO COMPUTING AND PROGRAMMING 1 History of Computers 2 System and Application Software 4 System Software 4

More information

Final exam. Final exam will be 12 problems, drop any 2. Cumulative up to and including week 14 (emphasis on weeks 9-14: classes & pointers)

Final exam. Final exam will be 12 problems, drop any 2. Cumulative up to and including week 14 (emphasis on weeks 9-14: classes & pointers) Review Final exam Final exam will be 12 problems, drop any 2 Cumulative up to and including week 14 (emphasis on weeks 9-14: classes & pointers) 2 hours exam time, so 12 min per problem (midterm 2 had

More information

Hierarchical inheritance: Contains one base class and multiple derived classes of the same base class.

Hierarchical inheritance: Contains one base class and multiple derived classes of the same base class. 1. What is C#? C# (pronounced "C sharp") is a simple, modern, object oriented, and type safe programming language. It will immediately be familiar to C and C++ programmers. C# combines the high productivity

More information

Dot Net Online Training

Dot Net Online Training chakraitsolutions.com http://chakraitsolutions.com/dotnet-online-training/ Dot Net Online Training DOT NET Online Training CHAKRA IT SOLUTIONS TO LEARN ABOUT OUR UNIQUE TRAINING PROCESS: Title : Dot Net

More information

Quiz Start Time: 09:34 PM Time Left 82 sec(s)

Quiz Start Time: 09:34 PM Time Left 82 sec(s) Quiz Start Time: 09:34 PM Time Left 82 sec(s) Question # 1 of 10 ( Start time: 09:34:54 PM ) Total Marks: 1 While developing a program; should we think about the user interface? //handouts main reusability

More information

Index COPYRIGHTED MATERIAL

Index COPYRIGHTED MATERIAL Index COPYRIGHTED MATERIAL Note to the Reader: Throughout this index boldfaced page numbers indicate primary discussions of a topic. Italicized page numbers indicate illustrations. A abstract classes

More information

Lab - 1. Solution : 1. // Building a Simple Console Application. class HelloCsharp. static void Main() System.Console.WriteLine ("Hello from C#.

Lab - 1. Solution : 1. // Building a Simple Console Application. class HelloCsharp. static void Main() System.Console.WriteLine (Hello from C#. Lab - 1 Solution : 1 // Building a Simple Console Application class HelloCsharp static void Main() System.Console.WriteLine ("Hello from C#."); Solution: 2 & 3 // Building a WPF Application // Verifying

More information

CHAPTER 1: INTRODUCTION TO THE IDE 3

CHAPTER 1: INTRODUCTION TO THE IDE 3 INTRODUCTION xxvii PART I: IDE CHAPTER 1: INTRODUCTION TO THE IDE 3 Introducing the IDE 3 Different IDE Appearances 4 IDE Configurations 5 Projects and Solutions 6 Starting the IDE 6 Creating a Project

More information

DOT NET SYLLABUS FOR 6 MONTHS

DOT NET SYLLABUS FOR 6 MONTHS DOT NET SYLLABUS FOR 6 MONTHS INTRODUCTION TO.NET Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate

More information

TECHNOLOGIES. Kick Starting OOPS &.Net Encapsulation Ø Class Ø Struct Ø Interface, Ø Enum Ø Abstraction Ø Access modifiers in.net

TECHNOLOGIES. Kick Starting OOPS &.Net Encapsulation Ø Class Ø Struct Ø Interface, Ø Enum Ø Abstraction Ø Access modifiers in.net Kick Starting OOPS &.Net Encapsulation Class Struct Interface, Enum Abstraction Access modifiers in.net Lab: Using Access modifiers in your project Polymorphism Inheritance Interface Wrapping Up Interview

More information