oberfl ächenprogrammierung mit wpf, datenabfrage … · der programmierung • c# und das .net...
TRANSCRIPT
Christopher Martel
Visual C# 2012Einstieg und Praxis
Außerdem bei mitp:
Aus dem Inhalt:
Teil 1: Grundlagen der Programmierung• C# und das .NET Framework• Visual Studio• Prozedurale und objekt-
orientierte Programmie-rung
Teil 2: Fortgeschrittene Programmiertechniken• Generics, Delegaten,
Ereignisse• Exceptionhandling• Lambda-Kalkül, anonyme
Methoden, Expression Trees
• Ressourcenmanagement• Dynamische Objekte• Collections• LINQ• Dateien und Verzeichnisse• Unit Tests mit NUnit und
RhinoMock
Teil 3: Oberfl ächenprogram-mierung und Datenbanken• Konsolenanwendungen• Windows Presentation
Foundation• Zugriff auf Datenbanken
mit ADO.NET
Teil 4: Parallele Program-mierung und Windows Store Apps• Threads• Task Parallel Library• Windows Store Apps
Teil 5: Praxisbeispiel• Fallbeispiel: Filmausleihe
Die Programmiersprache C# bietet sowohl unerfahrenen Programmierern als auch Umsteigern einen einfachen Einstieg in die Welt der Windows-Programmierung. Dabei gibt Microsoft dem Entwickler nicht nur die Spra-che selbst, sondern mit der Entwicklungsumgebung Visual Studio und dem .NET Framework auch das richtige Werkzeug an die Hand.
Christopher Martel vermittelt in diesem Buch einen Einstieg in Visual C# und das .NET Framework. Anhand verschiedener Beispiele erlernen Sie die Konzepte von C# sowie das Erzeugen einfacher Oberflächen und die Datenbankanbindung. Darüber hinaus geht der Autor auch auf die parallele Programmierung und auf das Erstellen von Windows Store Apps ein.
Anhand von Übungsaufgaben am Ende der Kapitel kann der Leser das Gelernte überprüfen und festigen. Die Lösungen, Beispielprojekte, sowie die Express-Versionen von Visual Studio 2012 stehen auf der beiliegenden Begleit-DVD zur Verfügung.
Dieses Buch ist vor allem für Ein- und Umsteiger in die Windows-Programmierung mit C# gedacht. Dennoch können auch erfahrene Entwickler Informationen für den Praxisalltag mitnehmen.
Auf der DVD:• Express-Versionen von Visual Studio 2012• Sourcecode zu den Beispielen und Übungen • Weitere Kapitel zu Windows Forms und GDI+
ISBN 978-3-8266-9195-9
(D) €
24
,95
Oberfl ächenprogrammierung mit WPF, Datenabfrage mit LINQ, Datenbankanbindung mit SQL Server 2012 Express und ADO.NETTesten mithilfe von Unit TestsParallele und asynchrone Programmierung mit Threads und der Task Parallel LibraryWindows Store App Programmierung
ISBN 978-3-8266-9440-0ISBN 978-3-8266-9440-0
Mar
tel
Visu
al C
# 20
12Ei
nstie
g un
d Pr
axis
Arduino Praxiseinstieg – Softcover 170 x 240 mm – Reihe: Programmierung
29 mm
Inklusive DVD-ROM
ISBN 978-3-8266-5936-2
ISBN 978-3-8266-9240-6
Auf der DVD: Express-Versionen von Visual Studio
2012
978-3-8266-9440-0_umschlag_K3.indd Alle Seiten 11/6/2012 1:12:28 PM
563
Stichwortverzeichnis
AAbfrageausdruck 231
from 231in 231select 231
Abstrakte Klasseabstract 106
ACE 276ACL 276ADO 397ADO.NET Entity Framework 419
O/R-Mapper 419AggregateException 452Anonyme Methode 149Anonymer Typ 232Ansichtstypen
Filled 489FullScreenLandscape 489FullScreenPortrait 489Snapped 489
App 336Application 337DispatcherUnhandledException 336StartupUri 336
App.xaml 329AppBar 465, 483
AutomationProperties.Name 484BottomAppBar 484TopAppBar 485
ApplicationView 489ApplicationViewState 490TryUnsnap 493
Array 196IndexOutOfRangeException 198Length 198mehrdimensionale Arrays 202
as 112Assembly 25AssemblyInfo 32Assert 296
AreEqual 297IsEmpty 297IsFalse 297
IsNull 297IsTrue 297That 297Throws 299
AST 247Abstract Syntax Tree 247
async 455Attached Event 336Attached Property 332, 334
RegisterAttached 335await 455
BBackground 339BackgroundWorker 347, 443
System.ComponentModel 443Befehlszeilenargumente 309BeginAnimation 384Benannte Parameter 86Bezeichner 41Binärdatei 283
BinaryReader 283BinaryWriter 283PeekChar 284
Bindungsrichtung 371Mode 371
BitmapEffect 382BlurBitmapEffect 381Border 345
BorderBrush 345BorderThickness 345CornerRadius 345
Boxing 69, 141Button 343
CC# 21Callback 149CancellationToken 451
CancellationTokenSource 451Canvas 352
Canvas.ZIndex 352CheckBox 344
Stichwortverzeichnis
564
checked 47CLS 24
CLSCompliant 24Common Language Specification 24
Codeblock 57Collections 193
ArrayList 221BitArray 221Collection-Initialisierer 205Dictionary 210, 211Hashtable 222ICollection 194IDictionary 194IEnumerable 194, 214IList 194LinkedList 222List 206Queue 222ReadOnlyCollection 202SortedDictionary 222SortedList 222Stack 221System.Collections 193System.Collections.Generic 193
COM 37Component Object Model 37
Common Language Runtime 22, 24, 25CLR 24, 25
Compiler 33ConcurrentBag 462ConcurrentQueue 461ConcurrentStack 460Console 307, 309
Farbangabe 318Main 307Program 307
Console.ReadKey(true) 33Console.ReadLine() 50Console.WriteLine 33const 47Constraint 412Constraints
where 144ContentControl 360ContentPresenter 360ContextMenu 130Contracts 465, 498Convert 46CTS 24
Common Type System 24
DDas Application Manifest 470
Manifest Designer 470Package.appxmanifest 470
DataAdapter 408DataColumn 411DataContext 369DataGridView 426DataRelation 412
ChildRelations 413ParentRelations 413
DataRow 411DataSet 408
DataRowState 408DataTableReader 409System.Data 409typisiertes DataSet 417
DataTable 411Columns 411Rows 411
DataView 415Find 415RowFilter 416Sort 415
Datei 262Copy 268CopyTo 268Create 267Delete 268File 263FileAccess 265FileAttributes 270FileInfo 263FileMode 265Move 268MoveTo 268
DatenbankConstraint 395CRUD 395Fremdschlüssel 394NO SQL 393Primärschlüssel 394
Datenbank-Explorer 398Datenkonsument 397Datenprovider 397Datentyp 41
bool 43byte 42char 43decimal 43double 43float 42
Stichwortverzeichnis
565
int 42long 42object 43primitiver Datentyp 41, 42sbyte 42short 42uint 42ulong 42ushort 42
Debuggen 309Debugger 33default 246Defensive Programmierung 112Delegate 145
Action 153Comparison 154delegate 148Func 153Predicate 153
Dependency Injection 300Mocks 301Stubs 301
Dependency Property 332DependencyObject 333GetValue 333SetValue 333
Deserialisierung 285Deserialize 285
Designer 34Destruktor 184DialogResult 286Dictionary 196Die Windows Runtime 465DLR 187
Dynamic Language Runtime 187DockPanel 351
Dock 351DoubleAnimation 383DrawingBrush 339DriveInfo 274
DriveType 275DropShadowBitmapEffect 381dynamic 188
EEager Evaluation 233Effect siehe BitmapEffectEigenschaften 92
automatische Eigenschaften 94Properties 92
Eigenschaften-Dialog 35
Ein- und Ausgabe über KonsolenRead 319ReadLine 319Write 319WriteLine 319
ElementName 370#endregion 116Entity SQL 419EntityConnection 424Entwicklungsumgebung 27
Eclipse 27SharpDevelop 27Visual C# 2012 Express 28Visual Studio 27
Entwurfsmuster 154Observermuster 154
Enumeration 47enum 47
Equals 178IEquatable 179
Ereignis 155event 155EventArgs 155EventHandler 155Eventhandler 154
Ereignis siehe EventEreignisbehandlung 36Erweiterungsmethode 175
this 175Escapesequenz 172EventTrigger 385Exception 46, 160, 163, 165
catch 161DivideByZeroException 161Exceptionhandling siehe AusnahmeFileNotFoundException 160finally 164InnerException 163Message 163NullReferenceException 161StackTrace 163throw 164try 161
Explizite Implementierung 110Expression
BinaryExpression 248ConstantExpression 248LambdaExpression 248MethodCallExpression 248ParameterExpression 248
Expression Tree 247Expression 247
Stichwortverzeichnis
566
FF# 152Farbangabe
ConsoleColor 318FIFO 222FileShare 278FileSystemWatcher 272
EnableRaisingEvents 272NotifyFilters 273
Flyout 486FocusManager 135foreach 218Foreground 337Frame 479
GoBack 479Navigate 479NavigationCacheMode 483NavigationEventArgs 481NavigationMode 482Navigationsstack 481OnNavigatedFrom 481OnNavigatedTo 481Parameter 482SourcePageType 482
Fremdschlüsselreferentielle Integrität 394
GGarbage Collection 68, 183
Finalize 183GC 183SuppressFinalize 183
Generics 139, 148Constraints 144generische Klasse 143generische Methode 143Typsicherheit 142
Grid 353ColumnDefinitions 353Grid.Column 354Grid.ColumnSpan 354Grid.Row 354Grid.RowSpan 354GridLength 355RowDefinitions 353
GridView 427Guid 404
HHandle 183
IntPtr 183
Heap 69HorizontalAlignment 359HorizontalContentAlignment 360
IIComparable 180
CompareTwo 180IComparer 181
IDisposable 183Dispose 183Dispose-Pattern 185
IEnumerator 215Current 215
ildasm 25Image 346
Source 346ImageBrush 339immutable 69Include 424Indexer 203InitializeComponent 132INotifyPropertyChanged 372
UpdateSourceTrigger 373Instanz 82IntelliSense 40, 158Interface 107IOException 257, 263IProducerConsumerCollection 459IronPython 187IronRuby 187is 111IValueConverter 374
JJIT 22
Just-in-Time-Compiler 22
KKapselung 72Klasse 72
abstrakte Klasse 106Basiskonstruktor 102class 72Member 72static 95statische Klasse 96statischer Konstruktor 97versiegelte Klasse 111
Klassenbibliothek 37.dll 37
Klassendiagramm 99
Stichwortverzeichnis
567
Kommentare 39einzeilige Kommentare 39mehrzeilige Kommentare 39Xml-Kommentare 40
Komprimieren 290CompressionMode 290GZipStream 290
Konsolenanwendung 31Konstruktor 76
Konstruktorverkettung 79Standardkonstruktor 76
Kontravarianz 205Kontrollstrukturen 56
break 60case 60default 60else 56else if 58if 56switch 60
Kovarianz 204
LLabel 340
Content 340Lambda-Ausdrücke 150
Ausdruckslambda 150Lambda-Kalkül 152
Lazy Evaluation 233Lazy Loading 420LIFO 221LinearGradientBrush 338LINQ 152, 215, 229
FirstOrDefault 245Language Integrated Query 229let 246LINQ to Entities 231LINQ to Objects 231LINQ to SQL 231LINQ to XML 231OfType 244Select 243SelectMany 243Where 242
LINQ to Entities 419LINQ to SQL 420List 196Livekachel
CreateTileUpdaterForApplication 495GetTemplateContent 494Tile 493TileNotification 495
TileTemplateType 494TileUpdateManager 494
Livekacheln 465Logical Tree 327
MMain 32Managed 24Manifest 25Margin 358Math 96Memory Leak 183Menu 127
Header 128MenuItem 128
MessageBox 36Methode 83
Methodenparameter 86return 85überladene Methode 89void 84
Monitor 443Mono 22MSIL 22
Microsoft Intermediate Language Code 22Multiparadigmensprache 21, 152
NNamensraum 112
global 116Namensraum-Alias 115Namensraum-Alias-Qualifizierer 116Namespace 112
Navigationseigenschaft 423Navigationsmuster 477
Flaches Muster 478Hierarchisches Muster 477
.NET 22.NET Framework 23
.NET for Windows Store apps 475new 103, 147null 70, 112Nullable 70NUnit 293
ExpectedException 299GUI-Runner 297JUnit 294nunit.framework.dll 295SetUp 295TearDown 295Test 296TestCase 298
Stichwortverzeichnis
568
TestFixture 295Unit Testing 293
OObject 98
ToString 98ObjectDataProvider 376Objektinitialisierer 95Objektkatalog 184Objektkontext 420ObservableCollection 373Odbc 396OleDb 396Open-Closed-Prinzip 99
OCP 99OpenFileDialog 286Operatoren 49
arithmetische Operatoren 49bitweise Operatoren 55Dekrement 51Inkrement 51logische Operatoren 53Postfix-Dekrement-Operator 51Postfix-Inkrement-Operator 51Präfix-Dekrement-Operator 51Präfix-Inkrement-Operator 51Rangfolge 55ternärer Operator 59Zuweisungsoperator 52
Operatorenüberladung 91optional 77OracleClient 396out 89OverflowException 47override 98, 104, 107
PPadding 358Page 475Parallel 453
Invoke 454ParallelLoopResult 454
Parallele Programmierung 439Producer-Comsumer-Problem 440Race Conditions 440
ParameterDirection 406Parse 46Partielle Klasse 75
partial 75PasswordBox
Password 342PasswordChar 342
PasswordBox siehe TextBox
Path 279PLINQ
AsOrdered 457AsSequential 458ForAll 459
PLINQ 457Polymorphie 104Prism 361Program 32ProgressBar 347Projekt-Explorer 113Projektmappen-Explorer 31Properties 31
QQualifizierer 80
RRadialGradientBrush 338RadioButton 344readonly 74
Laufzeitkonstante 74ref 88Refactoring 75ReferenceEquals 179Reflector 25#region 116Remove 426RepeatButton 345Resources 363
ResourceDictionary 363RhinoMock 302
MockRepository 303RoutedEvent 335
SSandcastle 40SaveChanges 425SaveFileDialog 288Schleifen 61
continue 62do/while 63Endlosschleifen 63for 61foreach 64while 63
ScrollViewer 357SecurityException 257Serialisierung 285
BinaryFormatter 285Serializable 285Serialize 285
Stichwortverzeichnis
569
Simulator 476SolidColorBrush 338Solution 30Sort 181SQL Server 2012 Express 393SqlClient 396SqlCommand 403
ExecuteNonQuery 403ExecuteReader 403
SqlCommandBuilder 411SqlConnection 401
ConnectionString 402SqlConnectionStringBuilder 402
SqlDataAdapter 409SqlDataReader 403, 406
CommandBehavior 406SqlParameter 405Stack 69StackPanel 349
Orientation 349Standardabfrageoperatoren 241Stored Procedure 405
CommandType 405Storyboard 384
BeginStoryboard 385Stream 280
CryptoStream 281FileStream 280GZipStream 281IDisposable 281MemoryStream 281NetworkStream 281StreamReader 280StreamWriter 280
String 166Format 170ToString 170
StringBuilder 166, 173Struktur 80
Struct 80Style 361
DynamicResource siehe StaticResourceexpliziter Style 363StaticResource 362
System.IO 256
TTableDataReader 413Task 449
ContinueWith 451System.Threading.Tasks 449TaskCreationOptions 449
TaskFactory 449TaskStatus 453Wait 450WaitAll 450WaitAny 450
Task Parallel Library (TPL) 448Work-Stealing 448
Tastaturabfrage 320ConsoleKeyInfo 320ConsoleModifiers 320ReadKey 320
Template 365ControlTemplate 365DataTemplate 365, 368ItemTemplate 365, 367TemplateBinding 366
Test Driven Development (TDD) 298TestCase
Result 298TextBlock siehe TextBoxTextBox 341
Text 341TextWrapping 341
Textdatei 281ReadAllText 282ReadLine 282ReadToEnd 282StreamReader 281StreamWriter 281Write 282WriteLine 282
this 78Thread 441
Deadlock 442Join 442ManagedThreadId 442ParameterizedThreadStart 442System.Threading 441Thread.Sleep() 447
ThreadPool 443QueueUserWorkItem 443
ToggleButton 345Tombstone-Modell 465, 496
Resuming 497Suspended 496Suspending 497
ToolTip 348Transaction 408
BeginTransaction 407Transform 377
LayoutTransform 377RenderTransform 377
Stichwortverzeichnis
570
RenderTransformOrigin 377RotateTransform 379ScaleTransform 380SkewTransform 379TransformGroup 380TranslateTransform 378
Trigger 364EventTrigger 365MultiTrigger 364
TryParse 89Typkonvertierung 44
explizite Typkonvertierung 45implizite Typkonvertierung 44
Typsystem 67Referenztypen 67ValueType 68Wertetypen 68
UUnboxing 69, 141UniformGrid siehe GridUnmanaged 24using-Block 186
VValidationRule 376var 49
Typinferenz 49, 151Variable 41, 44Verbindungsoperator 71Vererbung 98
base 102Basisklasse 99Unterklasse 99virtuelle Methode 104
Vergleichsoperator 178Verschlüsseln 288
CryptoStream 289Decrypt 289DES 289Encrypt 289ICryptoTransform 289
Versiegelte Klassesealed 111
VerticalAlignment 359VerticalContentAlignment 360Verweise 31, 37Verzeichnis 256
CreateDirectory 259CreateSubdirectory 259Delete 259Directory 256
DirectoryInfo 256GetCurrentDirectory 261GetDirectories 261Move 260MoveTo 260SetCurrentDirectory 261
ViewBox 357Stretch 357StretchDirection 357
virtual 103Visibility 340Visual Tree 327VisualBrush 339VisualStateManager 465, 491
GoToState 493ViewStateChanged 493VisualState 491VisualStateGroup 491
Visual-Studio-VorlagenGeteilte App 469Leere App 469Raster-App 469
WWCF 286Werkzeugkasten 34Window 133, 330
ClassModifier 331Close 133FieldModifier 332
Windows Loader 25Windows Presentation Foundation 34Windows Runtime 466
WinRT 466Windows Store Apps 465WPF 34, 325
MVVM 373Windows Presentation Foundation 325,
326WrapPanel 350
XXAML 326XDocument 251
Element 251XElement 251
XmlDataProvider 376
Yyield 219
yield break 220yield return 220
Stichwortverzeichnis
571
ZZugriffsberechtigung 276
AuthorizationRuleCollection 277DirectorySecurity 276FileAccess 278FileSecurity 276FileSystemAccessRule 276GetAccessControl 276
SetAccessControl 276System.Security.AccessControl 276
Zugriffsmodifizierer 72internal 73internal protected 73private 73protected 73public 73