Introduction 1 Code Samples and Software Requirements 2 Part I: Learning the Basics of VB Chapter 1: Introducing .NET 2015 3 .NET 2015: A New Vision for Development 3 The .NET Framework 4.6 for Desktop 5 Introducing .NET Core 5 10 Programming Languages in Visual Studio 2015 12 What''s New with Compilers 13 The Windows Software Development Kit 15 Summary 15 Chapter 2: The Visual Studio 2015 IDE for Visual Basic 17 What''s New in Visual Studio 2015 17 Status Bar and Start Page 18 Working with Projects and Solutions 20 Working with Tool Windows 35 The My Project Window 42 Compiling Projects 48 Debugging Overview 58 Browsing the Visual Basic and .NET Documentation 65 Quick Launch Tool 67 Showing the Hierarchy of Method Calls 69 Summary 70 Chapter 3: The Anatomy of a Visual Basic Project 71 Brief Overview of Types and Members 71 Visual Basic 2015 Reserved Keywords 80 Understanding Project Files 82 Understanding References 92 Summary 97 Chapter 4: Data Types and Expressions 99 Introducing the Common Type System 99 Understanding Value Types 103 Understanding Reference Types 113 Differences Between Value Types and Reference Types 116 Converting Between Value Types and Reference Types 121 Understanding Conversion Operators 129 Working with .NET Fundamental Types 135 Common Operators 172 Iterations, Loops, and Conditional Code Blocks 188 Summary 197 Chapter 5: Debugging Visual Basic 2015 Applications 199 Preparing an Example 199 Debugging Instrumentation 200 Inspecting Object Details with Debugger Visualizers 215 Debugging in Code 216 Summary 230 Chapter 6: Errors, Exceptions, and Code Refactoring 231 Introducing Exceptions 231 Handling Exceptions 233 Refactoring Your Code: Light Bulbs and Quick Actions 249 Summary 266 Part II: Object-Oriented Programming with Visual Basic 2015 Chapter 7: Class Fundamentals 267 Declaring Classes 267 Storing Information with Properties 271 Types and Members Visibility: Scope 276 Executing Actions with Methods 278 Organizing Code with Partial Classes 290 Splitting Method Definitions with Partial Methods 293 Instantiating Objects with Constructors 295 Shared Members 301 Common Language Specification 306 Summary 311 Chapter 8: Managing an Object''s Lifetime 313 Understanding Memory Allocation 313 Understanding Garbage Collection 314 Understanding the Finalize Method 315 Understanding Dispose and the IDisposable Interface 317 Advanced Garbage Collection 323 Summary 326 Chapter 9: Organizing Types Within Namespaces 327 Understanding Namespaces 327 Organizing Types Within Namespaces 328 Global Namespaces and the Global Keyword 342 Summary 345 Chapter 10: Modules 347 Modules Overview 347 Differences Between Modules and Classes 349 Summary 350 Chapter 11: Structures and Enumerations 351 Understanding Structures 351 Overloading Operators 356 Structures and Common Language Specification 360 Grouping Constants with Enumerations 361 Summary 367 Chapter 12: Inheritance 369 Applying Inheritance 370 Introducing Polymorphism 375 Overriding Members 377 Conditioning Inheritance 380 Accessing Base Classes Members 383 Constructors'' Inheritance 387 Shadowing 388 Overriding Shared Members 389 Practical Inheritance: Building Custom Exceptions 390 Summary 392 Chapter 13: Interfaces 393 Defining Interfaces 393 Implementing and Accessing Interfaces 394 Partial Interfaces 399 Interfaces and Polymorphism 399 Interfaces Inheritance 400 Defining CLS-Compliant Interfaces 402 Most Common .
NET Interfaces 402 Summary 412 Chapter 14: Generics and Nullable Types 413 Introducing Generics 413 Creating and Consuming Generics 414 Introducing Nullable Types 422 Summary 425 Chapter 15: Delegates and Events 427 Understanding Delegates 427 Handling Events 431 Offering Events to the External World 433 Summary 439 Chapter 16: Working with Collections and Iterators 441 Understanding Collections Architecture 442 Working with Nongeneric Collections 442 Working with Generic Collections 451 The Null-Conditional Operator and Collections 461 Building Custom Collections 462 Concurrent Collections 463 Immutable Collections 463 Iterators 464 Summary 472 Chapter 17: Working with Objects: Visual Tools and Code Sharing 473 Visual Studio Class Designer 473 Class View Window 484 Creating Types with Generate from Usage 485 Creating Portable Classes 491 Shared Projects 503 Summary 512 Part III: Advanced Language Features Chapter 18: Manipulating Files and Streams 513 Manipulating Directories and Pathnames 513 Handling Exceptions for Directories and Pathnames 519 Manipulating Files 519 Introducing Streams 524 Summary 535 Chapter 19: The My Namespace 537 Introducing the My Namespace 537 My.Application 538 My.Computer 542 My.Settings 550 My.Resources 556 My.User 560 My.WebServices 562 Extending My 562 My in Different Applications 566 Summary 570 Chapter 20: Advanced Language Features 571 Local Type Inference 571 Array Literalsv575 Extension Methods 577 Anonymous Types 585 Relaxed Delegates 586 Lambda Expressions 587 Generic Variance 596 Summary 598 Part IV: Data Access with ADO.NET and LINQ Chapter 21: Introducing ADO.
NET and DataSets 599 System Requirements 599 Introducing ADO.NET 600 Introducing DataSets 603 Summary 608 Chapter 22: Introducing LINQ 609 What Is LINQ? .609 LINQ Examples 611 Language Support 612 Understanding Providers 613 Overview of LINQ Architecture 613 Summary 614 Chapter 23: LINQ to Objects 615 Introducing LINQ to Objects 615 Querying in Memory Objects 616 Introducing Standard Query Operators 625 Summary 644 Chapter 24: LINQ to SQL 645 Introducing LINQ to SQL 646 Querying Data with LINQ to SQL 658 Insert/Update/Delete Operations with LINQ 663 Advanced LINQ to SQL 672 Summary 677 Chapter 25: LINQ to DataSets 679 Querying DataSets with LINQ 679 LINQ to DataSets'' Extension Methods 682 Summary 685 Chapter 26: Introducing ADO.NET Entity Framework 687 Introducing Entity Framework 687 Understanding Entity Data Models 688 Insert/Update/Delete Operations for Entities 703 Querying EDMs with LINQ to Entities 710 Querying EDMs with Entity SQL 712 Mapping Stored Procedures 712 Introducing the Code First Approach 716 Summary 727 Chapter 27: Manipulating XML Documents with LINQ and XML Literals 729 Introducing LINQ to XML 730 Writing XML Markup in VB with XML Literals 735 Summary 743 Part V: Building Windows Desktop Applications Chapter 28: Creating WPF Applications 745 What Is WPF? 746 Introducing the WPF Architecture 747 Building WPF Applications with Visual Studio 2015 749 Understanding the eXtensible Application Markup Language 751 Understanding Visual Tree and Logical Tree 757 Handling Events in WPF 759 Arranging Controls with Panels 762 Managing Windows 770 Introducing the Application Object 772 Brief Overview of WPF Browser Applications 774 Live Visual Tree 777 Summary 778 Chapter 29: WPF Common Controls 779 Introducing WPF Controls Features 779 Understanding the ContentControl 780 Understanding Common Controls 781 Using Common Dialogs 809 Summary 810 Chapter 30: Brushes, Styles, Templates, and Animations in WPF 811 Introducing Brushes 812 Introducing Styles 828 Introducing Control Templates 833 Introducing Transformations 836 Introducing Animations 840 Summary 849 Chapter 31: Manipulating Media and Documents 851 Viewing Images 851 Playing Media 853 Manipulating Documents 857 Viewing XPS Documents 866 Summary 867 Chapter 32: Introducing Data-Binding 869 Introducing the Data-Binding in WPF 869 Discussing the Drag and Drop Data-Binding 876 Summary 900 Chapter 33: Localizing Applications 901 Introducing .NET Localization 902 Introducing the Multilingual App Toolkit 902 Windows Forms Localization 903 WPF Localization 906 Summary 908 Part VI: Building Web and Mobile Applications Chapter 34: Building and Publishing ASP.NET Web Applications 909 Introducing the ASP.NET Model 910 Web Forms and Master Pages 914 ASP.NET Controls 917 Handling Events 919 Understanding State Management 920 Creating a Web Application with VB 2015 with Data Access and Pages.