A more advanced window We will create the next example with the wizard too. It is a handy way of avoiding writing a lot of boilerplate code. But it is obvious that we will need to understand every bit of what the wizard generates. We create Citeste tot ...
Dimensiune
Grammar
Grammar This appendix contains summaries of the lexical and syntactic grammars found in the main document, and of the grammar extensions for unsafe code. Grammar productions appear here in the same order that they appear in the main document. Citeste tot ...
Dimensiune
Advanced C programming in lcc-win32
Advanced C programming in lcc-win32 Operator overloading When you write: int a=6,b=8; int c = a+b; you are actually calling a specific intrinsic routine of the compiler to perform the addition of two integers. Conce Citeste tot ...
Dimensiune
Understanding Queries and Query Expressions
Understanding Queries and Query Expressions Now that you’ve been introduced to the many new language features in C# 3.0, this exercise shows how they are used together to create an expressive syntax for working with data, raising the level of ab Citeste tot ...
Dimensiune
Documentation comments
Documentation comments C# provides a mechanism for programmers to document their code using a special comment syntax that contains XML text. In source code files, comments having a certain form can be used to direct a tool to produce XML from t Citeste tot ...
Dimensiune
Easy Initialization with Object and Collection Initializers
Easy Initialization with Object and Collection Initializers In C# 3.0, when declaring an object or collection, you may include an initializer that specifies the initial values of the members of the newly created object or collection. This new sy Citeste tot ...
Dimensiune
Libraries
Libraries What we would like is a way of using this dialog box in our applications of course. How could we do that? One way would be to call it as an independent program. We could use the facilities for calling a program within the windows s Citeste tot ...
Dimensiune
The window tree: full source code
The window tree: full source code WindowTree.c #include <windows.h> #include <windowsx.h> #include <commctrl.h> #include <string.h> #include <psapi.h> #include 'windowtreeres.h' Citeste tot ...
Dimensiune
Classes
Classes A class is a data structure that may contain data members (constants and fields), function members (methods, properties, events, indexers, operators, instance constructors, destructors and static constructors), and nested types. Class t Citeste tot ...
Dimensiune
Pointers and references
Pointers and references Pointers are one of the “hard” subjects of the C language. They are somehow mysterious, quite difficult for beginners to grasp, and their extensive use within C makes them unavoidable. Pointers are machine addresses, Citeste tot ...
Dimensiune
A closer look at the pre-processor
A closer look at the pre-processor The first phase of the compilation process is the “pre-processing” phase. This consists of scanning in the program text all the preprocessor directives, i.e. lines that begin with a “#” character, and exec Citeste tot ...
Dimensiune
Other features
Other features 19.1 Property accessor accessibility Occasionally, a component design will indicate that a property should have different accessibility for the set accessor and the get accessor. Most commonly, one wishes to allow any code to Citeste tot ...
Dimensiune
Some Coding Tips
Some Coding Tips · Determining which version of Windows the program is running BOOL InWinNT() //test for NT · Translating the value returned by Citeste tot ...
Dimensiune
Extending Types with Extension Methods
Extending Types with Extension Methods Extension methods provide a way for developers to extend the functionality of existing types by defining new methods that are invoked using the normal instance method syntax. Extension methods are static m Citeste tot ...
Dimensiune
Structs
Structs Structs are similar to classes in that they represent data structures that can contain data members and function members. However, unlike classes, structs are value types and do not require heap allocation. A variable of a struct type d Citeste tot ...
Dimensiune
An overview of the whole language
An overview of the whole language Let’s formalize a bit what we are discussing. Here are some tables that you can use as reference tables. We have first the words of the language, the statements. Then we have a dictionary of some sentences you Citeste tot ...
Dimensiune
Indexers
Indexers This lesson teaches C# Indexers. Our objectives are as follows: Understand What Indexers Are For. Implement an Indexer. Overload Indexers. Understand How to Implement Multi-Parameter Indexers Citeste tot ...
Dimensiune
Anonymous methods
Anonymous methods 19.1 Anonymous method expressions An anonymous-method-expression defines an anonymous method and evaluates to a special value referencing the method: primary-no-array-creation-expression: . anonymous-method-expression Citeste tot ...
Dimensiune
Working with Lambda Expressions
Working with Lambda Expressions C# 2.0 introduced anonymous methods, which allow code blocks to be written “inline” where delegate values are expected. For example, in the following statement, the FindAll method requires a delegate parameter: Citeste tot ...
Dimensiune
Nullable types
Nullable types 19.1 Nullable types A nullable type is classified as a value type: value-type: struct-type enum-type struct-type: type-name simple-type nullable-type nullable-type: non-nullable-value-type ? non-nullable-value Citeste tot ...