Input: [Column name] tds_type_id [Description] For internal use. [Data type]

Output: int NOT NULL


Input: [Column name] tds_length [Description] For internal use. [Data type]

Output: int NOT NULL


Input: [Column name] tds_collation_id [Description] For internal use. [Data type]

Output: int NULL


Input: [Column name] tds_collation_sort_id [Description] For internal use. [Data type]

Output: tinyint NULL


Input: [Member references] A type indexer. [1]

Output: CodeIndexerExpression


Input: [Member references] A reference to a base class. [1]

Output: CodeBaseReferenceExpression


Input: [Member references] A reference to a field. [1]

Output: CodeFieldReferenceExpression


Input: [Member references] A reference to a method. [1]

Output: CodeMethodReferenceExpression


Input: [Member references] A reference to a property. [1]

Output: CodePropertyReferenceExpression


Input: [Member references] A reference to an event. [1]

Output: CodeEventReferenceExpression


Input: [Member references] A reference to the current object. [1]

Output: CodeThisReferenceExpression


Input: [Class] AccessControlEntry [Description]

Output: Specifies access rights for a trustee (user, group, or computer) to perform application-specific implementations of common tasks.


Input: [Class] AccessControlList [Description]

Output: Contains a list of access control entries, specifying access rights for one or more trustees.


Input: [Class] ActiveXMessageFormatter [Description]

Output: Serializes or deserializes primitive data types and other objects to or from the body of a Message Queuing message, using a format that is compatible with the MSMQ ActiveX Component.


Input: [Class] BinaryMessageFormatter [Description]

Output: Serializes or deserializes an object, or an entire graph of connected objects, to or from the body of a Message Queuing message, using a binary format.


Input: [Class] Cursor [Description]

Output: A Cursor is used to maintain a specific location in a MessageQueue when reading the queue's messages.


Input: [Class] DefaultPropertiesToSend [Description]

Output: Specifies the default property values that will be used when sending objects other than Message instances to a message queue.


Input: [Class] Message [Description]

Output: Provides access to the properties needed to define a Message Queuing message.


Input: [Class] MessageEnumerator [Description]

Output: Provides a forward-only cursor to enumerate through messages in a message queue.


Input: [Class] MessagePropertyFilter [Description]

Output: Controls and selects the properties that are retrieved when peeking or receiving messages from a message queue.


Input: [Class] MessageQueue [Description]

Output: Provides access to a queue on a Message Queuing server.


Input: [Class] MessageQueueAccessControlEntry [Description]

Output: Specifies access rights for a trustee (user, group, or computer) to perform Message Queuing tasks.


Input: [Class] MessageQueueCriteria [Description]

Output: Filters message queues when performing a query using the MessageQueue class's GetPublicQueues method.


Input: [Class] MessageQueueEnumerator [Description]

Output: Provides a forward-only cursor to enumerate through messages in a message queue.


Input: [Class] MessageQueueException [Description]

Output: The exception that is thrown if a Microsoft Message Queuing internal error occurs.


Input: [Class] MessageQueueInstaller [Description]

Output: Allows you to install and configure a queue that your application needs in order to run. This class is called by the installation utility, for example, InstallUtil.exe, when installing a MessageQueue.


Input: [Class] MessageQueuePermission [Description]

Output: Allows control of code access permissions for messaging.


Input: [Class] MessageQueuePermissionAttribute [Description]

Output: Allows declarative MessageQueue permission checks.


Input: [Class] MessageQueuePermissionEntry [Description]

Output: Defines the smallest unit of a code access security permission set for messaging.


Input: [Class] MessageQueuePermissionEntryCollection [Description]

Output: Contains a strongly typed collection of MessageQueuePermissionEntry objects.


Input: [Class] MessageQueueTransaction [Description]

Output: Provides a Message Queuing internal transaction.


Input: [Class] MessagingDescriptionAttribute [Description]

Output: Specifies a description for a property or event.


Input: [Class] PeekCompletedEventArgs [Description]

Output: Provides data for the PeekCompleted event. When your asynchronous peek operation calls an event handler, an instance of this class is passed to the handler.


Input: [Class] ReceiveCompletedEventArgs [Description]

Output: Provides data for the ReceiveCompleted event. When your asynchronous receive operation calls an event handler, an instance of this class is passed to the handler.


Input: [Class] SecurityContext [Description]

Output: Represents the security context for a message in a queue.


Input: [Class] Trustee [Description]

Output: Specifies a user account, group account, or logon session to which an access control entry applies.


Input: [Class] XmlMessageFormatter [Description]

Output: Serializes and deserializes objects to or from the body of a message, using the XML format based on the XSD schema definition.


Input: [Class] CriticalHandleMinusOneIsInvalid [Description]

Output: Provides a base class for Win32 critical handle implementations in which the value of -1 indicates an invalid handle.


Input: [Class] CriticalHandleZeroOrMinusOneIsInvalid [Description]

Output: Provides a base class for Win32 critical handle implementations in which the value of either 0 or -1 indicates an invalid handle.


Input: [Class] SafeAccessTokenHandle [Description]

Output: Provides a safe handle to a Windows thread or process access token. For more information see Access Tokens


Input: [Class] SafeFileHandle [Description]

Output: Represents a wrapper class for a file handle.


Input: [Class] SafeHandleMinusOneIsInvalid [Description]

Output: Provides a base class for Win32 safe handle implementations in which the value of -1 indicates an invalid handle.


Input: [Class] SafeHandleZeroOrMinusOneIsInvalid [Description]

Output: Provides a base class for Win32 safe handle implementations in which the value of either 0 or -1 indicates an invalid handle.


Input: [Class] SafeMemoryMappedFileHandle [Description]

Output: Provides a safe handle that represents a memory-mapped file for sequential access.


Input: [Class] SafeMemoryMappedViewHandle [Description]

Output: Provides a safe handle that represents a view of a block of unmanaged memory for random access.


Input: [Class] SafeNCryptHandle [Description]

Output: Infrastructure. Provides a safe handle that can be used by Cryptography Next Generation (CNG) objects.


Input: [Class] SafeNCryptKeyHandle [Description]

Output: Provides a safe handle that represents a key (NCRYPT_KEY_HANDLE).


Input: [Class] SafeNCryptProviderHandle [Description]

Output: Provides a safe handle that represents a key storage provider (NCRYPT_PROV_HANDLE).


Input: [Class] SafeNCryptSecretHandle [Description]

Output: Provides a safe handle that represents a secret agreement value (NCRYPT_SECRET_HANDLE).


Input: [Class] SafePipeHandle [Description]

Output: Represents a wrapper class for a pipe handle.


Input: [Class] SafeProcessHandle [Description]

Output: Provides a managed wrapper for a process handle.


Input: [Class] SafeRegistryHandle [Description]

Output: Represents a safe handle to the Windows registry.


Input: [Class] SafeWaitHandle [Description]

Output: Represents a wrapper class for a wait handle.


Input: [Class] SafeX509ChainHandle [Description]

Output: Provides a wrapper class that represents the handle of an X.509 chain object. For more information, see X509Chain.


Input: [Object] HashTag [Description]

Output: Represents a hash tag in the collection of trending tags.


Input: [Object] HashTagCollection [Description]

Output: Represents a collection of hash tags in microblog posts. This collection is returned by the getTrendingTags method.


Input: [Object] PeopleManager [Description]

Output: Provides methods for operations related to people.


Input: [Object] PersonProperties [Description]

Output: Represents user properties.


Input: [Object] ProfileLoader [Description]

Output: Provides an alternate entry point to user profiles rather than calling methods directly.


Input: [Object] UserProfile [Description]

Output: Represents a client-side user profile for a person.


Input: [Object] UserProfilePropertiesForUser [Description]

Output: Represents a set of user profile properties for a specified user.


Input: [Description] Contains information about the current release of the Campaign Management API. [Topic]

Output: Release Notes


Input: [Description] Provides information about getting access to the Campaign Management API. [Topic]

Output: Getting Access


Input: [Description] Provides the web service addresses (URLs) for the available versions of the Campaign Management API. [Topic]

Output: Web Service Address


Input: [Description] Describes the concepts that are related to the Campaign Management API. [Topic]

Output: Concepts


Input: [Description] Contains conceptual and procedural information for developing applications by using the Campaign Management API. [Topic]

Output: Developing with the API


Input: [Description] Contains reference topics for the programming elements exposed through version 3 of the Campaign Management API. [Topic]

Output: API Reference


Input: [Function] CredUICmdLinePromptForCredentials [Description]

Output: Prompt for and accept user credentials information from a user working in a command-line program.


Input: [Function] CredUIConfirmCredentials [Description]

Output: Confirm the validity of credentials returned by CredUIPromptForCredentials or CredUICmdLinePromptForCredentials.


Input: [Function] CredUIParseUserName [Description]

Output: Extract the domain and user account name from a fully qualified user name.


Input: [Function] CredUIPromptForCredentials [Description]

Output: Display a dialog box that accepts credentials information from a user.


Input: [Function] CredUIPromptForWindowsCredentials [Description]

Output: Creates and displays a configurable dialog box that allows users to supply credential information by using any credential provider installed on the local computer.


Input: [Function] CredUIReadSSOCredW [Description]

Output: Retrieves the user name for a single logon credential.


Input: [Function] CredUIStoreSSOCredW [Description]

Output: Stores a single logon credential.


Input: [Area] Escape [Syntax rule] The backslash character \ is rejected by the compiler for unrecognized escapes The compiler used to accept "31\12\2002", but during run time the literal string was interpreted as a different value.

Output: Now the following X++ statement is rejected by the compiler: str myDateString = "31\12\2002"; The proper syntax is "31\\12\\2002".

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Area] Exceptions [Syntax rule] Retry is no longer allowed outside of a catch block It was possible to write the retry keyword outside of a catch block. This caused the program to end when the retry was reached during runtime.

Output: Now retry can occur only inside a catch block. For more information, see Exception Handling with try and catch Keywords.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Area] Exceptions [Syntax rule] Now you can throw and catch only int values It was possible to throw scalar expressions like strings and dates, such as throw "hello world";, and get no compile error. At runtime this was catch-able by a catch block that was not decorated with any specific value, such as catch {print("Catch worked.");}.

Output: Now the only expression you can put on the throw keyword is an int. Often the best thing to throw is Global::error("Explanation");. Often the best thing to catch is an element of the Exception enum. For more information, see Exception Handling with try and catch Keywords.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Area] Inheritance [Syntax rule] Downcasting can now be explicit. Note It is good programming practice to avoid implicit downcasts. It was possible to assign a base object to a derived object with the simple assignment operator, which is the equals sign (=). The compiler accepted these assignments, but during run time any misuse of an improper downcast assignment caused an error.

Output: Now all downcasts can be explicit. This is accomplished with the new as expression operator. Explicit downcasting with the as keyword is illustrated by the following code example, in which ThingClass extends Object: ThingClass myThing = new ThingClass(); Object myObject = myThing; myThing = myObject as ThingClass; // Explicit downcast, good. For more information, see Expression Operators: Is and As for Inheritance.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Area] Inheritance [Syntax rule] Override of a base method cannot be less accessible than the base method It was possible to have a base method be decorated with protected and yet have an override of that method be private.

Output: Now when a base method is protected, the override method must be either protected or public, and the override method cannot be private. For more information, see Method Access Control.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Area] Inheritance [Syntax rule] Override of a base method must have the exact same return type and parameter signature as the base method Suppose a base class had a method that inputs a parameter of the Common table, which is the base of all tables. In a derived class it was possible to override the method to instead input MyTable.

Output: Now the parameter signatures of the base method and its override method must match exactly. Also, the return types must match exactly. For more information, see Overriding a Method.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Area] Interfaces [Syntax rule] Implementation of an interface method must match the parameter signature exactly Suppose an interface had a method that input a parameter of an int. In a class that implements the interface, it was possible to write the method with a parameter of a str.

Output: Now the parameter signatures of the method must exactly match between the interface and the implementation of the method on a class. Also, the return types must match exactly. For more information, see Interfaces Overview.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Area] Interfaces [Syntax rule] A non-abstract base class that implements an interface cannot rely on a derived class for that implementation When a base class implements an interface, it was possible for the class to not implement the methods of the interface if a derived class implemented the methods. The only limitation was that the new constructor method could not be called on the class.

Output: Now the compiler requires that every class that implements an interface must have or inherit a complete implementation of every method of the interface. For more information, see X++, C# Comparison: Object Oriented Programming.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Area] Modifiers [Syntax rule] The static modifier should not be applied to an interface It was possible to write static interface IMyInterface {}, but the static modifier had no effect because it makes no sense in this context.

Output: Sometime after Microsoft Dynamics AX 2009 the X++ compiler might stop allowing the static modifier on interface declarations. For more information, see Interfaces Overview.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Area] Modifiers [Syntax rule] The static modifier must not be applied to the new constructor It was possible to apply the static modifier to the declaration of the new constructor method. This caused new MyClass(); to behave as a null operation. Instead, the statement MyClass::new(); would call the static new method, but that would not construct an object.

Output: Now the compiler issues an error when the static modifier is applied to the new method. For more information, see Constructors.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Area] Modifiers [Syntax rule] Use an explicit access modifier on each method In the past the menu item of AOT > Classes > MyClass > New Method created the method without any access modifier. This meant that the method was implicitly public, although some X++ developers might not have been fully aware of the default. This created extra work later when a developer needed to modify the code in the method, because the developer had to research everywhere that the method might be called from.

Output: Now the New Method menu item explicitly includes the private keyword in its automatic declaration of the new method. The developer can type in a different modifier if appropriate. For more information, see Method Modifiers.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Area] Parameters [Syntax rule] Parameters given in a call to a new constructor method must match the parameters on the new constructor method It was possible to pass in multiple parameters on call to a new constructor method even when the new method was declared to input no parameters.

Output: Now the call to the new method must exactly match the declared parameter signature of the new method. For more information, see Creating a Subclass.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Area] Parameters [Syntax rule] Parameters with default values must come after all parameters that do not have default values It was possible to declare a method that takes in two parameters, and have only the first parameter offer a default value. There was no purpose to this. There was no way to accept the default of the first parameter because the call must specify a value for the second parameter and cannot omit the first parameter.

Output: Now in the declaration of a method, any parameter that offers a default value must come after all the parameters that do not. For more information, see the following topics: Using Optional Parameters Best Practices for Parameters

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Area] Parameters [Syntax rule] Override of a method must have the same default parameters as the overridden method It was possible to declare a method as public void myMethod(int i=22){} and the override as public void myMethod(){}. But if the override method was called as derivedObject(333); an error occurred.

Output: Now the override method must list the same parameter types in the same sequence that they are declared in the overridden method. For more information, see Overriding a Method.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Area] Preprocessor [Syntax rule] A TODO in a comment must be the first non-whitespace in the first line of the comment The X++ preprocessor used to detect the TODO keyword in a multi-line /* ... */ task comment even when the TODO appeared after other text after the first comment line.

Output: Now the X++ preprocessor detects the TODO keyword only if TODO appears on the first line of the comment, and as the first non-whitespace in the comment. For more information, see TODO Comments for X++ Developer Tasks.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]

Starting with Microsoft Dynamics AX 2012


Input: [Name] BackColor [Description]

Output: Gets the background color of the header.


Input: [Name] Bounds [Description]

Output: Gets the size and location of the column header to draw.


Input: [Name] ColumnIndex [Description]

Output: Gets the index of the ColumnHeader representing the header to draw.


Input: [Name] DrawDefault [Description]

Output: Gets or sets a value indicating whether the column header should be drawn by the operating system instead of owner-drawn.


Input: [Name] Font [Description]

Output: Gets the font used to draw the column header text.


Input: [Name] ForeColor [Description]

Output: Gets the foreground color of the header.


Input: [Name] Graphics [Description]

Output: Gets the Graphics used to draw the column header.


Input: [Name] Header [Description]

Output: Gets the ColumnHeader representing the column header to draw.


Input: [Name] State [Description]

Output: Gets the current state of the column header.


Input: [Description] Gets the background color of the header. [Name]

Output: BackColor


Input: [Description] Gets the size and location of the column header to draw. [Name]

Output: Bounds


Input: [Description] Gets the index of the ColumnHeader representing the header to draw. [Name]

Output: ColumnIndex


Input: [Description] Gets or sets a value indicating whether the column header should be drawn by the operating system instead of owner-drawn. [Name]

Output: DrawDefault


Input: [Description] Gets the font used to draw the column header text. [Name]

Output: Font


Input: [Description] Gets the foreground color of the header. [Name]

Output: ForeColor


Input: [Description] Gets the Graphics used to draw the column header. [Name]

Output: Graphics


Input: [Description] Gets the ColumnHeader representing the column header to draw. [Name]

Output: Header


Input: [Description] Gets the current state of the column header. [Name]

Output: State


Input: [Description] Gets the current cellular classes for a multi-carrier device. [Method]

Output: GetCurrentCellularClass


Input: [Description] Gets the list of subscribed providers visible in the current area for a multi-carrier device minus the current registered provider. [Method]

Output: GetPreferredProviders


Input: [Description] Gets the list of supported cellular classes for a multi-carrier device. [Method]

Output: GetSupportedCellularClasses


Input: [Description] Gets the list of visible providers in the current area for a multi-carrier device minus preferred and registered providers. [Method]

Output: GetVisibleProviders


Input: [Description] Scans the network to get a list of visible providers for a multi-carrier device. [Method]

Output: ScanNetwork


Input: [Description] Updates the home provider for a multi-carrier device. [Method]

Output: SetHomeProvider


Input: [Exception] ArgumentException [Condition]

Output: typeName is an empty string ("") or a string beginning with a null character. -or- The current assembly was loaded into the reflection-only context.

Assembly.CreateInstance Method (String) (System.Reflection)


Input: [Exception] ArgumentNullException [Condition]

Output: typeName is null.

Assembly.CreateInstance Method (String) (System.Reflection)


Input: [Exception] MissingMethodException [Condition]

Output: No matching constructor was found.

Assembly.CreateInstance Method (String) (System.Reflection)


Input: [Exception] FileNotFoundException [Condition]

Output: typeName requires a dependent assembly that could not be found.

Assembly.CreateInstance Method (String) (System.Reflection)


Input: [Exception] FileLoadException [Condition]

Output: typeName requires a dependent assembly that was found but could not be loaded. -or- The current assembly was loaded into the reflection-only context, and typeName requires a dependent assembly that was not preloaded.

Assembly.CreateInstance Method (String) (System.Reflection)


Input: [Exception] BadImageFormatException [Condition]

Output: typeName requires a dependent assembly, but the file is not a valid assembly. -or- typeName requires a dependent assembly that was compiled for a version of the runtime that is later than the currently loaded version.

Assembly.CreateInstance Method (String) (System.Reflection)


Input: [Property] BaseUri [Type] Uri [Description]

Output: Contains the base URI passed to UriTemplate.Match

Chapter 2. WCF RESTful Programming Model


Input: [Property] BoundVariables [Type] NameValueCollection [Description]

Output: A collection of name/value pairs, where the names are the path segments from the UriTemplate and the values are the parsed data

Chapter 2. WCF RESTful Programming Model


Input: [Property] Data [Type] Object [Description]

Output: Arbitrary application-specific data that can be associated with a UriTemplate

Chapter 2. WCF RESTful Programming Model


Input: [Property] QueryParameters [Type] NameValueCollection [Description]

Output: A name/value collection of items from the query string of the parsed URI

Chapter 2. WCF RESTful Programming Model


Input: [Property] RelativePathSegments [Type] Collection [Description]

Output: A union of the results of template matching and wildcard matching

Chapter 2. WCF RESTful Programming Model


Input: [Property] RequestUri [Type] Uri [Description]

Output: The request URI passed to Match

Chapter 2. WCF RESTful Programming Model


Input: [Property] UriTemplate [Type] UriTemplate [Description]

Output: A reference to the UriTemplate instance on which Match was called

Chapter 2. WCF RESTful Programming Model


Input: [Property] WildCardPathSegments [Type] Collection [Description]

Output: All the data that matched against the wildcard part of the UriTemplate (if any)

Chapter 2. WCF RESTful Programming Model


Input: [Member name] Alert [Description]

Output: An alert or condition that you can notify a user about. Use this role only for objects that embody an alert but are not associated with another user interface element, such as a message box, graphic, text, or sound.


Input: [Member name] Animation [Description]

Output: An animation control, which contains content that is changing over time, such as a control that displays a series of bitmap frames, like a filmstrip. Animation controls are usually displayed when files are being copied, or when some other time-consuming task is being performed.


Input: [Member name] Application [Description]

Output: The main window for an application.


Input: [Member name] Border [Description]

Output: A window border. The entire border is represented by a single object, rather than by separate objects for each side.


Input: [Member name] ButtonDropDown [Description]

Output: A button that drops down a list of items.


Input: [Member name] ButtonDropDownGrid [Description]

Output: A button that drops down a grid.


Input: [Member name] ButtonMenu [Description]

Output: A button that drops down a menu.


Input: [Member name] Caret [Description]

Output: A caret, which is a flashing line, block, or bitmap that marks the location of the insertion point in a window's client area.


Input: [Member name] Cell [Description]

Output: A cell within a table.


Input: [Member name] Character [Description]

Output: A cartoon-like graphic object, such as Microsoft Office Assistant, which is typically displayed to provide help to users of an application.


Input: [Member name] Chart [Description]

Output: A graphical image used to represent data.


Input: [Member name] CheckButton [Description]

Output: A check box control, which is an option that can be turned on or off independent of other options.


Input: [Member name] Client [Description]

Output: A window's user area.


Input: [Member name] Clock [Description]

Output: A control that displays the time.


Input: [Member name] Column [Description]

Output: A column of cells within a table.


Input: [Member name] ColumnHeader [Description]

Output: A column header, which provides a visual label for a column in a table.


Input: [Member name] ComboBox [Description]

Output: A combo box, which is an edit control with an associated list box that provides a set of predefined choices.


Input: [Member name] Cursor [Description]

Output: A mouse pointer.


Input: [Member name] Default [Description]

Output: A system-provided role.


Input: [Member name] Diagram [Description]

Output: A graphical image used to diagram data.


Input: [Member name] Dial [Description]

Output: A dial or knob. This can also be a read-only object, like a speedometer.


Input: [Member name] Dialog [Description]

Output: A dialog box or message box.


Input: [Member name] Document [Description]

Output: A document window, which is always contained within an application window. This role applies only to multiple-document interface (MDI) windows and refers to an object that contains the MDI title bar.


Input: [Member name] DropList [Description]

Output: A drop-down list box. This control shows one item and allows the user to display and select another from a list of alternative choices.


Input: [Member name] Equation [Description]

Output: A mathematical equation.


Input: [Member name] Graphic [Description]

Output: A picture.


Input: [Member name] Grip [Description]

Output: A special mouse pointer, which allows a user to manipulate user interface elements such as a window. For example, a user can click and drag a sizing grip in the lower-right corner of a window to resize it.


Input: [Member name] Grouping [Description]

Output: The objects grouped in a logical manner. There can be a parent-child relationship between the grouping object and the objects it contains.


Input: [Member name] HelpBalloon [Description]

Output: A Help display in the form of a ToolTip or Help balloon, which contains buttons and labels that users can click to open custom Help topics.


Input: [Member name] HotkeyField [Description]

Output: A hot-key field that allows the user to enter a combination or sequence of keystrokes to be used as a hot key, which enables users to perform an action quickly. A hot-key control displays the keystrokes entered by the user and ensures that the user selects a valid key combination.


Input: [Member name] Indicator [Description]

Output: An indicator, such as a pointer graphic, that points to the current item.


Input: [Member name] IpAddress [Description]

Output: A control designed for entering Internet Protocol (IP) addresses.


Input: [Member name] Link [Description]

Output: A link, which is a connection between a source document and a destination document. This object might look like text or a graphic, but it acts like a button.


Input: [Member name] List [Description]

Output: A list box, which allows the user to select one or more items.


Input: [Member name] ListItem [Description]

Output: An item in a list box or the list portion of a combo box, drop-down list box, or drop-down combo box.


Input: [Member name] MenuBar [Description]

Output: A menu bar, usually beneath the title bar of a window, from which users can select menus.


Input: [Member name] MenuItem [Description]

Output: A menu item, which is an entry in a menu that a user can choose to carry out a command, select an option, or display another menu. Functionally, a menu item can be equivalent to a push button, radio button, check box, or menu.


Input: [Member name] MenuPopup [Description]

Output: A menu, which presents a list of options from which the user can make a selection to perform an action. All menu types must have this role, including drop-down menus that are displayed by selection from a menu bar, and shortcut menus that are displayed when the right mouse button is clicked.


Input: [Member name] None [Description]

Output: No role.


Input: [Member name] Outline [Description]

Output: An outline or tree structure, such as a tree view control, which displays a hierarchical list and usually allows the user to expand and collapse branches.


Input: [Member name] OutlineButton [Description]

Output: A control that navigates like an outline item.


Input: [Member name] OutlineItem [Description]

Output: An item in an outline or tree structure.


Input: [Member name] PageTab [Description]

Output: A property page that allows a user to view the attributes for a page, such as the page's title, whether it is a home page, or whether the page has been modified. Normally, the only child of this control is a grouped object that contains the contents of the associated page.


Input: [Member name] PageTabList [Description]

Output: A container of page tab controls.


Input: [Member name] Pane [Description]

Output: A separate area in a frame, a split document window, or a rectangular area of the status bar that can be used to display information. Users can navigate between panes and within the contents of the current pane, but cannot navigate between items in different panes. Thus, panes represent a level of grouping lower than frame windows or documents, but above individual controls. Typically, the user navigates between panes by pressing TAB, F6, or CTRL+TAB, depending on the context.


Input: [Member name] ProgressBar [Description]

Output: A progress bar, which indicates the progress of a lengthy operation by displaying colored lines inside a horizontal rectangle. The length of the lines in relation to the length of the rectangle corresponds to the percentage of the operation that is complete. This control does not take user input.


Input: [Member name] PropertyPage [Description]

Output: A property page, which is a dialog box that controls the appearance and the behavior of an object, such as a file or resource. A property page's appearance differs according to its purpose.


Input: [Member name] PushButton [Description]

Output: A push button control, which is a small rectangular control that a user can turn on or off. A push button, also known as a command button, has a raised appearance in its default off state and a sunken appearance when it is turned on.


Input: [Member name] RadioButton [Description]

Output: An option button, also known as a radio button. All objects sharing a single parent that have this attribute are assumed to be part of a single mutually exclusive group. You can use grouped objects to divide option buttons into separate groups when necessary.


Input: [Member name] Row [Description]

Output: A row of cells within a table.


Input: [Member name] RowHeader [Description]

Output: A row header, which provides a visual label for a table row.


Input: [Member name] ScrollBar [Description]

Output: A vertical or horizontal scroll bar, which can be either part of the client area or used in a control.


Input: [Member name] Separator [Description]

Output: A space divided visually into two regions, such as a separator menu item or a separator dividing split panes within a window.


Input: [Member name] Slider [Description]

Output: A control, sometimes called a trackbar, that enables a user to adjust a setting in given increments between minimum and maximum values by moving a slider. The volume controls in the Windows operating system are slider controls.


Input: [Member name] Sound [Description]

Output: A system sound, which is associated with various system events.


Input: [Member name] SpinButton [Description]

Output: A spin box, also known as an up-down control, which contains a pair of arrow buttons. A user clicks the arrow buttons with a mouse to increment or decrement a value. A spin button control is most often used with a companion control, called a buddy window, where the current value is displayed.


Input: [Member name] SplitButton [Description]

Output: A toolbar button that has a drop-down list icon directly adjacent to the button.


Input: [Member name] StaticText [Description]

Output: The read-only text, such as in a label, for other controls or instructions in a dialog box. Static text cannot be modified or selected.


Input: [Member name] StatusBar [Description]

Output: A status bar, which is an area typically at the bottom of an application window that displays information about the current operation, state of the application, or selected object. The status bar can have multiple fields that display different kinds of information, such as an explanation of the currently selected menu command in the status bar.


Input: [Member name] Table [Description]

Output: A table containing rows and columns of cells and, optionally, row headers and column headers.


Input: [Member name] Text [Description]

Output: The selectable text that can be editable or read-only.


Input: [Member name] TitleBar [Description]

Output: A title or caption bar for a window.


Input: [Member name] ToolBar [Description]

Output: A toolbar, which is a grouping of controls that provide easy access to frequently used features.


Input: [Member name] ToolTip [Description]

Output: A tool tip, which is a small rectangular pop-up window that displays a brief description of the purpose of a button.


Input: [Member name] WhiteSpace [Description]

Output: A blank space between other objects.


Input: [Member name] Window [Description]

Output: A window frame, which usually contains child objects such as a title bar, client, and other objects typically contained in a window.


Input: [Syntax rule] The backslash character \ is rejected by the compiler for unrecognized escapes The compiler used to accept "31\12\2002", but during run time the literal string was interpreted as a different value. Now the following X++ statement is rejected by the compiler: str myDateString = "31\12\2002"; The proper syntax is "31\\12\\2002". [Area]

Output: Escape

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Syntax rule] Retry is no longer allowed outside of a catch block It was possible to write the retry keyword outside of a catch block. This caused the program to end when the retry was reached during runtime. Now retry can occur only inside a catch block. For more information, see Exception Handling with try and catch Keywords. [Area]

Output: Exceptions

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Syntax rule] Now you can throw and catch only int values It was possible to throw scalar expressions like strings and dates, such as throw "hello world";, and get no compile error. At runtime this was catch-able by a catch block that was not decorated with any specific value, such as catch {print("Catch worked.");}. Now the only expression you can put on the throw keyword is an int. Often the best thing to throw is Global::error("Explanation");. Often the best thing to catch is an element of the Exception enum. For more information, see Exception Handling with try and catch Keywords. [Area]

Output: Exceptions

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Syntax rule] Downcasting can now be explicit. Note It is good programming practice to avoid implicit downcasts. It was possible to assign a base object to a derived object with the simple assignment operator, which is the equals sign (=). The compiler accepted these assignments, but during run time any misuse of an improper downcast assignment caused an error. Now all downcasts can be explicit. This is accomplished with the new as expression operator. Explicit downcasting with the as keyword is illustrated by the following code example, in which ThingClass extends Object: ThingClass myThing = new ThingClass(); Object myObject = myThing; myThing = myObject as ThingClass; // Explicit downcast, good. For more information, see Expression Operators: Is and As for Inheritance. [Area]

Output: Inheritance

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Syntax rule] Override of a base method cannot be less accessible than the base method It was possible to have a base method be decorated with protected and yet have an override of that method be private. Now when a base method is protected, the override method must be either protected or public, and the override method cannot be private. For more information, see Method Access Control. [Area]

Output: Inheritance

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Syntax rule] Override of a base method must have the exact same return type and parameter signature as the base method Suppose a base class had a method that inputs a parameter of the Common table, which is the base of all tables. In a derived class it was possible to override the method to instead input MyTable. Now the parameter signatures of the base method and its override method must match exactly. Also, the return types must match exactly. For more information, see Overriding a Method. [Area]

Output: Inheritance

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Syntax rule] Implementation of an interface method must match the parameter signature exactly Suppose an interface had a method that input a parameter of an int. In a class that implements the interface, it was possible to write the method with a parameter of a str. Now the parameter signatures of the method must exactly match between the interface and the implementation of the method on a class. Also, the return types must match exactly. For more information, see Interfaces Overview. [Area]

Output: Interfaces

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Syntax rule] A non-abstract base class that implements an interface cannot rely on a derived class for that implementation When a base class implements an interface, it was possible for the class to not implement the methods of the interface if a derived class implemented the methods. The only limitation was that the new constructor method could not be called on the class. Now the compiler requires that every class that implements an interface must have or inherit a complete implementation of every method of the interface. For more information, see X++, C# Comparison: Object Oriented Programming. [Area]

Output: Interfaces

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Syntax rule] The static modifier should not be applied to an interface It was possible to write static interface IMyInterface {}, but the static modifier had no effect because it makes no sense in this context. Sometime after Microsoft Dynamics AX 2009 the X++ compiler might stop allowing the static modifier on interface declarations. For more information, see Interfaces Overview. [Area]

Output: Modifiers

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Syntax rule] The static modifier must not be applied to the new constructor It was possible to apply the static modifier to the declaration of the new constructor method. This caused new MyClass(); to behave as a null operation. Instead, the statement MyClass::new(); would call the static new method, but that would not construct an object. Now the compiler issues an error when the static modifier is applied to the new method. For more information, see Constructors. [Area]

Output: Modifiers

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Syntax rule] Use an explicit access modifier on each method In the past the menu item of AOT > Classes > MyClass > New Method created the method without any access modifier. This meant that the method was implicitly public, although some X++ developers might not have been fully aware of the default. This created extra work later when a developer needed to modify the code in the method, because the developer had to research everywhere that the method might be called from. Now the New Method menu item explicitly includes the private keyword in its automatic declaration of the new method. The developer can type in a different modifier if appropriate. For more information, see Method Modifiers. [Area]

Output: Modifiers

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Syntax rule] Parameters given in a call to a new constructor method must match the parameters on the new constructor method It was possible to pass in multiple parameters on call to a new constructor method even when the new method was declared to input no parameters. Now the call to the new method must exactly match the declared parameter signature of the new method. For more information, see Creating a Subclass. [Area]

Output: Parameters

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Syntax rule] Parameters with default values must come after all parameters that do not have default values It was possible to declare a method that takes in two parameters, and have only the first parameter offer a default value. There was no purpose to this. There was no way to accept the default of the first parameter because the call must specify a value for the second parameter and cannot omit the first parameter. Now in the declaration of a method, any parameter that offers a default value must come after all the parameters that do not. For more information, see the following topics: Using Optional Parameters Best Practices for Parameters [Area]

Output: Parameters

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Syntax rule] Override of a method must have the same default parameters as the overridden method It was possible to declare a method as public void myMethod(int i=22){} and the override as public void myMethod(){}. But if the override method was called as derivedObject(333); an error occurred. Now the override method must list the same parameter types in the same sequence that they are declared in the overridden method. For more information, see Overriding a Method. [Area]

Output: Parameters

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Syntax rule] A TODO in a comment must be the first non-whitespace in the first line of the comment The X++ preprocessor used to detect the TODO keyword in a multi-line /* ... */ task comment even when the TODO appeared after other text after the first comment line. Now the X++ preprocessor detects the TODO keyword only if TODO appears on the first line of the comment, and as the first non-whitespace in the comment. For more information, see TODO Comments for X++ Developer Tasks. [Area]

Output: Preprocessor

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Topic] Release Notes [Description]

Output: Contains information about the current release of the Campaign Management API.


Input: [Topic] Getting Access [Description]

Output: Provides information about getting access to the Campaign Management API.


Input: [Topic] Web Service Address [Description]

Output: Provides the web service addresses (URLs) for the available versions of the Campaign Management API.


Input: [Topic] Concepts [Description]

Output: Describes the concepts that are related to the Campaign Management API.


Input: [Topic] Developing with the API [Description]

Output: Contains conceptual and procedural information for developing applications by using the Campaign Management API.


Input: [Topic] API Reference [Description]

Output: Contains reference topics for the programming elements exposed through version 3 of the Campaign Management API.


Input: [Class] AppListEntry [Description]

Output: Provides an app's display info such as its display name and description, and a method to launch the app.

Windows.ApplicationModel.Core namespace - Windows app development


Input: [Class] CoreApplication [Description]

Output: Enables apps to handle state changes, manage windows, and integrate with a variety of UI frameworks.

Windows.ApplicationModel.Core namespace - Windows app development


Input: [Class] CoreApplicationView [Description]

Output: Represents an app window and its thread.

Windows.ApplicationModel.Core namespace - Windows app development


Input: [Class] CoreApplicationViewTitleBar [Description]

Output: Enables an app to define a custom title bar that displays in the app's window.

Windows.ApplicationModel.Core namespace - Windows app development


Input: [Class] HostedViewClosingEventArgs [Description]

Output: Provides a Deferral you can call when the HostedViewClosing event fires to defer the tear down of the hosted view.

Windows.ApplicationModel.Core namespace - Windows app development


Input: [Class] UnhandledError [Description]

Output: Represents the error data for a system error as reported by an UnhandledErrorDetected event.

Windows.ApplicationModel.Core namespace - Windows app development


Input: [Class] UnhandledErrorDetectedEventArgs [Description]

Output: Provides UnhandledError event data for UnhandledErrorDetected events.

Windows.ApplicationModel.Core namespace - Windows app development


Input: [HRESULT] S_OK [Description]

Output: CreateIoCompletionPort returned successfully.


Input: [HRESULT] HOST_E_CLRNOTAVAILABLE [Description]

Output: The common language runtime (CLR) has not been loaded into a process, or the CLR is in a state in which it cannot run managed code or process the call successfully.


Input: [HRESULT] HOST_E_TIMEOUT [Description]

Output: The call timed out.


Input: [HRESULT] HOST_E_NOT_OWNER [Description]

Output: The caller does not own the lock.


Input: [HRESULT] HOST_E_ABANDONED [Description]

Output: An event was canceled while a blocked thread or fiber was waiting on it.


Input: [HRESULT] E_FAIL [Description]

Output: An unknown catastrophic failure occurred. When a method returns E_FAIL, the CLR is no longer usable within the process. Subsequent calls to hosting methods return HOST_E_CLRNOTAVAILABLE.


Input: [HRESULT] E_OUTOFMEMORY [Description]

Output: Not enough memory was available to allocate the requested resource.


Input: [Class] ActivityInfo [Description]

Output: Contains information on a tracked Activity.


Input: [Class] ActivityScheduledQuery [Description]

Output: When added to the Queries collection, subscribes to activity scheduled records when the tracking profile is created to subscribe to tracking records.


Input: [Class] ActivityScheduledRecord [Description]

Output: Represents a tracking record of an activity being scheduled for execution.


Input: [Class] ActivityStateQuery [Description]

Output: When added to the Queries, subscribes to activity state records.


Input: [Class] ActivityStateRecord [Description]

Output: Represents a tracking record that is created when an activity changes state.


Input: [Class] ActivityStates [Description]

Output: Specifies the state of an activity.


Input: [Class] BookmarkResumptionQuery [Description]

Output: When added to the Queries collection, subscribes to bookmark resumption records when the tracking profile is queried for TrackingRecord objects.


Input: [Class] BookmarkResumptionRecord [Description]

Output: Contains the data sent to a tracking participant by the run-time tracking infrastructure when a Bookmark is resumed.


Input: [Class] CancelRequestedQuery [Description]

Output: When added to the Queries collection, subscribes to cancellation request records when the tracking profile is queried for tracking records.


Input: [Class] CancelRequestedRecord [Description]

Output: Represents the data sent by the workflow runtime to tracking participants when CancelChild or CancelChildren is called.


Input: [Class] CustomTrackingQuery [Description]

Output: When added to the Queries, subscribes to custom tracking records when the tracking profile is queried for custom records.


Input: [Class] CustomTrackingRecord [Description]

Output: Contains the data sent to a tracking participant by the run-time tracking infrastructure when a custom tracking record is raised.


Input: [Class] EtwTrackingParticipant [Description]

Output: A consumer of workflow tracking data that emits an Event Tracking for Windows (ETW) event to an ETW session that contains the data from the tracking record.


Input: [Class] FaultPropagationQuery [Description]

Output: When added to the Queries collection, subscribes to fault propagation records when the tracking profile is queried for tracking records.


Input: [Class] FaultPropagationRecord [Description]

Output: Contains the data sent to a tracking participant by the run-time tracking infrastructure when a fault is propagated from a workflow activity.


Input: [Class] InteropTrackingRecord [Description]

Output: Obsolete. Represents the data sent to tracking participants when tracked records occur in an Interop activity within a workflow.


Input: [Class] TrackingParticipant [Description]

Output: The base class for workflow extensions that interact with the workflow tracking infrastructure and access tracking records.


Input: [Class] TrackingProfile [Description]

Output: Creates a subscription to workflow tracking records in a TrackingParticipant.


Input: [Class] TrackingQuery [Description]

Output: The base class for all tracking queries. Tracking queries are used to create a subscription definition for a TrackingProfile.


Input: [Class] TrackingRecord [Description]

Output: The abstract class from which all workflow tracking records derive. Tracking records represent the data sent to tracking participants when tracked events occur.


Input: [Class] WorkflowInstanceAbortedRecord [Description]

Output: Contains the data sent to a tracking participant by the run-time tracking infrastructure when a workflow instance is aborted.


Input: [Class] WorkflowInstanceQuery [Description]

Output: When added to the Queries collection, subscribes to workflow instance records when the tracking profile is created to subscribe to tracking records.


Input: [Class] WorkflowInstanceRecord [Description]

Output: Contains the data sent to a tracking service by the run-time tracking infrastructure when a workflow instance changes state.


Input: [Class] WorkflowInstanceStates [Description]

Output: Specifies the state of a workflow instance.


Input: [Class] WorkflowInstanceSuspendedRecord [Description]

Output: Contains the data sent to a tracking participant by the run-time tracking infrastructure when a workflow instance is suspended.


Input: [Class] WorkflowInstanceTerminatedRecord [Description]

Output: Contains the data sent to a tracking participant by the run-time tracking infrastructure when a workflow is terminated.


Input: [Class] WorkflowInstanceUnhandledExceptionRecord [Description]

Output: Contains the data sent to a tracking participant by the run-time tracking infrastructure when a workflow instance encounters an unhandled exception.


Input: [Class] WorkflowInstanceUpdatedRecord [Description]

Output: Specifies information about an updated record.


Input: [Enumeration] ComponentActionsType [Description]

Output: Specifies the type of object-bound smart tag with respect to how it was associated with the component.


Input: [Enumeration] DesignerActionListsChangedType [Description]

Output: Specifies the type of change occurring in a collection of DesignerActionList objects.


Input: [Enumeration] DesignerActionUIStateChangeType [Description]

Output: Specifies the display state of a smart tag panel.


Input: [Enumeration] DisplayMode [Description]

Output: Defines identifiers that indicate the display modes used by ByteViewer.


Input: [Enumeration] HelpContextType [Description]

Output: Defines identifiers that indicate information about the context in which a request for Help information originated.


Input: [Enumeration] HelpKeywordType [Description]

Output: Defines identifiers that indicate the type of a Help keyword.


Input: [Enumeration] MenuCommandsChangedType [Description]

Output: Specifies the type of action that occurred to the related object's MenuCommands collection.


Input: [Enumeration] SelectionTypes [Description]

Output: Defines identifiers that indicate the type of a selection.


Input: [Enumeration] ViewTechnology [Description]

Output: Defines identifiers for a set of technologies that designer hosts support.


Input: [Description] Describes the enhancements and new features in Analysis Services with links to information in the documentation. [Section]

Output: What's New in Analysis Services


Input: [Description] Provides instructions for installing Analysis Services. [Section]

Output: Installing Analysis Services


Input: [Description] Describes the features of Analysis Services, the server and client architecture, the object architecture, and security. [Section]

Output: Analysis Services Architecture


Input: [Description] Describes the use of OLAP in data warehouses. [Section]

Output: Data Warehousing and OLAP


Input: [Description] Describes the tools and tasks used in administering Analysis Services. [Section]

Output: Administering Analysis Services


Input: [Description] Provides reference information for Analysis Services, including specifications and limits, the use of SQL in Analysis Services, the help topics for the user interface, and the compliance of Analysis Services with the OLAP and data mining specifications of OLE DB. [Section]

Output: Administrator's Reference


Input: [Description] Provides introductory material, reference information, and examples that detail the use of Multidimensional Expressions (MDX) in Analysis Services. [Section]

Output: MDX


Input: [Description] Provides information to assist in resolving problems that may occur in Analysis Services. [Section]

Output: Analysis Services Troubleshooting


Input: [Description] Describes the programming information and reference material provided for developing Analysis Services administrative and client applications. [Section]

Output: Programming Analysis Services Applications


Input: [Description] Provides the administrative procedures for Analysis Services. [Section]

Output: How To


Input: [Area] Escape The compiler used to accept "31\12\2002", but during run time the literal string was interpreted as a different value. Now the following X++ statement is rejected by the compiler: str myDateString = "31\12\2002"; The proper syntax is "31\\12\\2002". [Syntax rule]

Output: The backslash character \ is rejected by the compiler for unrecognized escapes

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Exceptions It was possible to write the retry keyword outside of a catch block. This caused the program to end when the retry was reached during runtime. Now retry can occur only inside a catch block. For more information, see Exception Handling with try and catch Keywords. [Syntax rule]

Output: Retry is no longer allowed outside of a catch block

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Exceptions It was possible to throw scalar expressions like strings and dates, such as throw "hello world";, and get no compile error. At runtime this was catch-able by a catch block that was not decorated with any specific value, such as catch {print("Catch worked.");}. Now the only expression you can put on the throw keyword is an int. Often the best thing to throw is Global::error("Explanation");. Often the best thing to catch is an element of the Exception enum. For more information, see Exception Handling with try and catch Keywords. [Syntax rule]

Output: Now you can throw and catch only int values

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Inheritance It was possible to assign a base object to a derived object with the simple assignment operator, which is the equals sign (=). The compiler accepted these assignments, but during run time any misuse of an improper downcast assignment caused an error. Now all downcasts can be explicit. This is accomplished with the new as expression operator. Explicit downcasting with the as keyword is illustrated by the following code example, in which ThingClass extends Object: ThingClass myThing = new ThingClass(); Object myObject = myThing; myThing = myObject as ThingClass; // Explicit downcast, good. For more information, see Expression Operators: Is and As for Inheritance. [Syntax rule]

Output: Downcasting can now be explicit. Note It is good programming practice to avoid implicit downcasts.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Inheritance It was possible to have a base method be decorated with protected and yet have an override of that method be private. Now when a base method is protected, the override method must be either protected or public, and the override method cannot be private. For more information, see Method Access Control. [Syntax rule]

Output: Override of a base method cannot be less accessible than the base method

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Inheritance Suppose a base class had a method that inputs a parameter of the Common table, which is the base of all tables. In a derived class it was possible to override the method to instead input MyTable. Now the parameter signatures of the base method and its override method must match exactly. Also, the return types must match exactly. For more information, see Overriding a Method. [Syntax rule]

Output: Override of a base method must have the exact same return type and parameter signature as the base method

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Interfaces Suppose an interface had a method that input a parameter of an int. In a class that implements the interface, it was possible to write the method with a parameter of a str. Now the parameter signatures of the method must exactly match between the interface and the implementation of the method on a class. Also, the return types must match exactly. For more information, see Interfaces Overview. [Syntax rule]

Output: Implementation of an interface method must match the parameter signature exactly

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Interfaces When a base class implements an interface, it was possible for the class to not implement the methods of the interface if a derived class implemented the methods. The only limitation was that the new constructor method could not be called on the class. Now the compiler requires that every class that implements an interface must have or inherit a complete implementation of every method of the interface. For more information, see X++, C# Comparison: Object Oriented Programming. [Syntax rule]

Output: A non-abstract base class that implements an interface cannot rely on a derived class for that implementation

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Modifiers It was possible to write static interface IMyInterface {}, but the static modifier had no effect because it makes no sense in this context. Sometime after Microsoft Dynamics AX 2009 the X++ compiler might stop allowing the static modifier on interface declarations. For more information, see Interfaces Overview. [Syntax rule]

Output: The static modifier should not be applied to an interface

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Modifiers It was possible to apply the static modifier to the declaration of the new constructor method. This caused new MyClass(); to behave as a null operation. Instead, the statement MyClass::new(); would call the static new method, but that would not construct an object. Now the compiler issues an error when the static modifier is applied to the new method. For more information, see Constructors. [Syntax rule]

Output: The static modifier must not be applied to the new constructor

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Modifiers In the past the menu item of AOT > Classes > MyClass > New Method created the method without any access modifier. This meant that the method was implicitly public, although some X++ developers might not have been fully aware of the default. This created extra work later when a developer needed to modify the code in the method, because the developer had to research everywhere that the method might be called from. Now the New Method menu item explicitly includes the private keyword in its automatic declaration of the new method. The developer can type in a different modifier if appropriate. For more information, see Method Modifiers. [Syntax rule]

Output: Use an explicit access modifier on each method

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Parameters It was possible to pass in multiple parameters on call to a new constructor method even when the new method was declared to input no parameters. Now the call to the new method must exactly match the declared parameter signature of the new method. For more information, see Creating a Subclass. [Syntax rule]

Output: Parameters given in a call to a new constructor method must match the parameters on the new constructor method

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Parameters It was possible to declare a method that takes in two parameters, and have only the first parameter offer a default value. There was no purpose to this. There was no way to accept the default of the first parameter because the call must specify a value for the second parameter and cannot omit the first parameter. Now in the declaration of a method, any parameter that offers a default value must come after all the parameters that do not. For more information, see the following topics: Using Optional Parameters Best Practices for Parameters [Syntax rule]

Output: Parameters with default values must come after all parameters that do not have default values

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Parameters It was possible to declare a method as public void myMethod(int i=22){} and the override as public void myMethod(){}. But if the override method was called as derivedObject(333); an error occurred. Now the override method must list the same parameter types in the same sequence that they are declared in the overridden method. For more information, see Overriding a Method. [Syntax rule]

Output: Override of a method must have the same default parameters as the overridden method

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Preprocessor The X++ preprocessor used to detect the TODO keyword in a multi-line /* ... */ task comment even when the TODO appeared after other text after the first comment line. Now the X++ preprocessor detects the TODO keyword only if TODO appears on the first line of the comment, and as the first non-whitespace in the comment. For more information, see TODO Comments for X++ Developer Tasks. [Syntax rule]

Output: A TODO in a comment must be the first non-whitespace in the first line of the comment

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Description] The local copy of the naming context is writable. [Member name]

Output: Writeable


Input: [Description] Replication of this naming context from this source is attempted when the destination server is restarted. This normally only applies to intra-site neighbors. [Member name]

Output: SyncOnStartup


Input: [Description] Perform replication on a schedule. This option is normally set unless the schedule for this naming context/source is "never", that is, the empty schedule. [Member name]

Output: ScheduledSync


Input: [Description] Perform replication indirectly through the Inter-Site Messaging Service. This flag is set only when replicating over SMTP. This flag is not set when replicating over inter-site RPC/IP. [Member name]

Output: UseInterSiteTransport


Input: [Description] If set, this option indicates that when inbound replication is complete, the destination server must tell the source server to synchronize in the reverse direction. This feature is used in dial-up scenarios where only one of the two servers can initiate a dial-up connection. For example, this option would be used in a corporate headquarters and branch office, where the branch office connects to the corporate headquarters over the Internet by means of a dial-up ISP connection. [Member name]

Output: TwoWaySync


Input: [Description] This neighbor is in a state where it returns parent objects before children objects. It goes into this state after it receives a child object before its parent. [Member name]

Output: ReturnObjectParent


Input: [Description] The destination server is performing a full synchronization from the source server. Full synchronizations do not use vectors that create updates (DS_REPL_CURSORS) for filtering updates. Full synchronizations are not used as a part of the normal replication protocol. [Member name]

Output: FullSyncInProgress


Input: [Description] The last packet from the source indicated that an object that has not yet been created by the destination server has been modified. The next packet that is requested will instruct the source server to put all attributes of the modified object into the packet. [Member name]

Output: FullSyncNextPacket


Input: [Description] A synchronization has never been successfully completed from this source. [Member name]

Output: NeverSynced


Input: [Description] The replication engine has temporarily stopped processing this neighbor in order to service another higher-priority neighbor, either for this partition or another partition. The replication engine will resume processing this neighbor after the higher-priority work is completed. [Member name]

Output: Preempted


Input: [Description] This option is set to disable notification based synchronizations. Within a site, domain controllers synchronize with each other based on notifications when changes occur. This setting prevents this neighbor from performing syncs that are triggered by notifications. The neighbor will still do synchronizations based on its schedule, or if requested manually. [Member name]

Output: IgnoreChangeNotifications


Input: [Description] This option is set to disable synchronizations based on its schedule. The only way this neighbor will perform synchronizations is in response to a change notification or to a manual request for synchronizations. [Member name]

Output: DisableScheduledSync


Input: [Description] Changes that are received from this source are compressed. This option is usually set only if the source server is in a different site. [Member name]

Output: CompressChanges


Input: [Description] No change notifications should be received from this source. This option is usually set only if the source server is in a different site. [Member name]

Output: NoChangeNotifications


Input: [Description] This neighbor is in a state where it is rebuilding the contents of this replica because of a change in the partial attribute set. [Member name]

Output: PartialAttributeSet


Input: [Condition] sourceFileName or destinationFileName is a zero-length string, contains only white space, or contains one or more invalid characters defined by the Path.GetInvalidPathChars method. [Exception]

Output: ArgumentException

IsolatedStorageFile.CopyFile Method (String, String) (System.IO.IsolatedStorage)


Input: [Condition] sourceFileName or destinationFileName is null. [Exception]

Output: ArgumentNullException

IsolatedStorageFile.CopyFile Method (String, String) (System.IO.IsolatedStorage)


Input: [Condition] The isolated store has been closed. [Exception]

Output: InvalidOperationException

IsolatedStorageFile.CopyFile Method (String, String) (System.IO.IsolatedStorage)


Input: [Condition] The isolated store has been disposed. [Exception]

Output: ObjectDisposedException

IsolatedStorageFile.CopyFile Method (String, String) (System.IO.IsolatedStorage)


Input: [Condition] sourceFileName was not found. [Exception]

Output: FileNotFoundException

IsolatedStorageFile.CopyFile Method (String, String) (System.IO.IsolatedStorage)


Input: [Condition] The isolated store has been removed. -or- Isolated storage is disabled. -or- destinationFileName exists. -or- An I/O error has occurred. [Exception]

Output: IsolatedStorageException

IsolatedStorageFile.CopyFile Method (String, String) (System.IO.IsolatedStorage)


Input: [Class] MetaData [Description]

Output: Provides methods that allow you to work with XML schema.


Input: [Class] SdlChannelSink [Description]

Output: Provides the implementation for a server channel sink that generates Web Services Description Language (WSDL) dynamically on the server.


Input: [Class] SdlChannelSinkProvider [Description]

Output: Provides the implementation for the server channel sink provider that creates SdlChannelSink instances.


Input: [Class] ServiceType [Description]

Output: Associates a well-known object type that is passed to the Web Services Description Language (WSDL) generator with a remote endpoint that can process messages sent to a method on the type.


Input: [Class] SUDSGeneratorException [Description]

Output: The exception thrown if an error occurs during generation of Web Services Description Language (WSDL).


Input: [Class] SUDSParserException [Description]

Output: The exception thrown if an error occurs during parsing of Web Services Description Language (WSDL).


Input: [Microsoft Extension] msClearEffects [Description]

Output: Clears all effects from the media pipeline.

video element | video object - Windows app development


Input: [Microsoft Extension] msFrameStep [Description]

Output: Steps the video by one frame forward or one frame backward. Only available on the video object.

video element | video object - Windows app development


Input: [Microsoft Extension] msInsertAudioEffect [Description]

Output: Inserts the specified audio effect into media pipeline.

video element | video object - Windows app development


Input: [Microsoft Extension] msInsertVideoEffect [Description]

Output: Inserts the specified video effect into media pipeline.

video element | video object - Windows app development


Input: [Microsoft Extension] msSetMediaProtectionManager [Description]

Output: Specifies the media protection manager for a given media pipeline.

video element | video object - Windows app development


Input: [Microsoft Extension] msSetVideoRectangle [Description]

Output: Sets the dimensions of a sub-rectangle within a video. Only available on the video object.

video element | video object - Windows app development


Input: [Microsoft Extension] msAudioCategory [Description]

Output: Specifies the purpose the audio or video media, such as background audio or alerts.

video element | video object - Windows app development


Input: [Microsoft Extension] msAudioDeviceType [Description]

Output: Specifies the output devices that the audio will be sent to.

video element | video object - Windows app development


Input: [Microsoft Extension] msHorizontalMirror [Description]

Output: Sets or gets whether a video element is flipped horizontally in the display. Only available on the video object.

video element | video object - Windows app development


Input: [Microsoft Extension] msIsLayoutOptimalForPlayback [Description]

Output: Indicates whether the video can be rendered more efficiently.

video element | video object - Windows app development


Input: [Microsoft Extension] msIsStereo3D [Description]

Output: Determines whether the system considers the video source that is loaded to be stereo 3-D or not. Only available on the video object.

video element | video object - Windows app development


Input: [Microsoft Extension] msPlayToDisabled [Description]

Output: Gets or sets whether the PlayTo device is available.

video element | video object - Windows app development


Input: [Microsoft Extension] msPlayToPrimary [Description]

Output: Gets or sets the primary PlayTo device.

video element | video object - Windows app development


Input: [Microsoft Extension] msPlayToSource [Description]

Output: Gets the source associated with the media element for use by the PlayToManager.

video element | video object - Windows app development


Input: [Microsoft Extension] msRealTime [Description]

Output: Specifies whether or not to enable low-latency playback on the media element.

video element | video object - Windows app development


Input: [Microsoft Extension] msStereo3DPackingMode [Description]

Output: Gets or sets the frame-packing mode for stereo 3-D video content. Only available on the video object.

video element | video object - Windows app development


Input: [Microsoft Extension] msStereo3DRenderMode [Description]

Output: Gets or sets whether the system display is set to stereo display (if stereo-capable). Only available on the video object.

video element | video object - Windows app development


Input: [Microsoft Extension] msZoom [Description]

Output: Gets or sets whether the video frame is trimmed, on the top and bottom or left and right, to fit the video display. Only available on the video object.

video element | video object - Windows app development


Input: [Microsoft Extension] onMSVideoFormatChanged [Description]

Output: Occurs when the video format changes. Only available on the video object.

video element | video object - Windows app development


Input: [Microsoft Extension] onMSVideoFrameStepCompleted [Description]

Output: Occurs when the video frame has been stepped forward or backward one frame. Only available on the video object.

video element | video object - Windows app development


Input: [Description] Specifies the type of object-bound smart tag with respect to how it was associated with the component. [Enumeration]

Output: ComponentActionsType


Input: [Description] Specifies the type of change occurring in a collection of DesignerActionList objects. [Enumeration]

Output: DesignerActionListsChangedType


Input: [Description] Specifies the display state of a smart tag panel. [Enumeration]

Output: DesignerActionUIStateChangeType


Input: [Description] Defines identifiers that indicate the display modes used by ByteViewer. [Enumeration]

Output: DisplayMode


Input: [Description] Defines identifiers that indicate information about the context in which a request for Help information originated. [Enumeration]

Output: HelpContextType


Input: [Description] Defines identifiers that indicate the type of a Help keyword. [Enumeration]

Output: HelpKeywordType


Input: [Description] Specifies the type of action that occurred to the related object's MenuCommands collection. [Enumeration]

Output: MenuCommandsChangedType


Input: [Description] Defines identifiers that indicate the type of a selection. [Enumeration]

Output: SelectionTypes


Input: [Description] Defines identifiers for a set of technologies that designer hosts support. [Enumeration]

Output: ViewTechnology


Input: [Event] abort [Description]

Output: Fires when the user aborts the download.

html element | html object - Windows app development


Input: [Event] change [Description]

Output: Fires when the contents of the object or selection have changed.

html element | html object - Windows app development


Input: [Event] error [Description]

Output: Fires when an error occurs during object loading.

html element | html object - Windows app development


Input: [Event] input [Description]

Output: Occurs when the text content of an element is changed through the user interface.

html element | html object - Windows app development


Input: [Event] load [Description]

Output: Fires immediately after the client loads the object.

html element | html object - Windows app development


Input: [Event] mouseenter [Description]

Output: Fires when the user moves the mouse pointer into the object.

html element | html object - Windows app development


Input: [Event] mouseleave [Description]

Output: Fires when the user moves the mouse pointer outside the boundaries of the object.

html element | html object - Windows app development


Input: [Event] onselect [Description]

Output: Fires when the current selection changes.

html element | html object - Windows app development


Input: [Event] readystatechange [Description]

Output: Fires when the state of the object has changed.

html element | html object - Windows app development


Input: [Event] reset [Description]

Output: Fires when the user resets a form.

html element | html object - Windows app development


Input: [Event] resize [Description]

Output: Fires when the size of the object is about to change.

html element | html object - Windows app development


Input: [Event] scroll [Description]

Output: Fires when the user repositions the scroll box in the scroll bar on the object.

html element | html object - Windows app development


Input: [Name] BadImageFormatException() [Description]

Output: Initializes a new instance of the BadImageFormatException class.


Input: [Name] BadImageFormatException(String) [Description]

Output: Initializes a new instance of the BadImageFormatException class with a specified error message.


Input: [Name] BadImageFormatException(SerializationInfo, StreamingContext) [Description]

Output: Initializes a new instance of the BadImageFormatException class with serialized data.


Input: [Name] BadImageFormatException(String, Exception) [Description]

Output: Initializes a new instance of the BadImageFormatException class with a specified error message and a reference to the inner exception that is the cause of this exception.


Input: [Name] BadImageFormatException(String, String) [Description]

Output: Initializes a new instance of the BadImageFormatException class with a specified error message and file name.


Input: [Name] BadImageFormatException(String, String, Exception) [Description]

Output: Initializes a new instance of the BadImageFormatException class with a specified error message and a reference to the inner exception that is the cause of this exception.


Input: [Area] Escape [Syntax rule] The backslash character \ is rejected by the compiler for unrecognized escapes Now the following X++ statement is rejected by the compiler: str myDateString = "31\12\2002"; The proper syntax is "31\\12\\2002".

Output: The compiler used to accept "31\12\2002", but during run time the literal string was interpreted as a different value.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Exceptions [Syntax rule] Retry is no longer allowed outside of a catch block Now retry can occur only inside a catch block. For more information, see Exception Handling with try and catch Keywords.

Output: It was possible to write the retry keyword outside of a catch block. This caused the program to end when the retry was reached during runtime.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Exceptions [Syntax rule] Now you can throw and catch only int values Now the only expression you can put on the throw keyword is an int. Often the best thing to throw is Global::error("Explanation");. Often the best thing to catch is an element of the Exception enum. For more information, see Exception Handling with try and catch Keywords.

Output: It was possible to throw scalar expressions like strings and dates, such as throw "hello world";, and get no compile error. At runtime this was catch-able by a catch block that was not decorated with any specific value, such as catch {print("Catch worked.");}.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Inheritance [Syntax rule] Downcasting can now be explicit. Note It is good programming practice to avoid implicit downcasts. Now all downcasts can be explicit. This is accomplished with the new as expression operator. Explicit downcasting with the as keyword is illustrated by the following code example, in which ThingClass extends Object: ThingClass myThing = new ThingClass(); Object myObject = myThing; myThing = myObject as ThingClass; // Explicit downcast, good. For more information, see Expression Operators: Is and As for Inheritance.

Output: It was possible to assign a base object to a derived object with the simple assignment operator, which is the equals sign (=). The compiler accepted these assignments, but during run time any misuse of an improper downcast assignment caused an error.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Inheritance [Syntax rule] Override of a base method cannot be less accessible than the base method Now when a base method is protected, the override method must be either protected or public, and the override method cannot be private. For more information, see Method Access Control.

Output: It was possible to have a base method be decorated with protected and yet have an override of that method be private.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Inheritance [Syntax rule] Override of a base method must have the exact same return type and parameter signature as the base method Now the parameter signatures of the base method and its override method must match exactly. Also, the return types must match exactly. For more information, see Overriding a Method.

Output: Suppose a base class had a method that inputs a parameter of the Common table, which is the base of all tables. In a derived class it was possible to override the method to instead input MyTable.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Interfaces [Syntax rule] Implementation of an interface method must match the parameter signature exactly Now the parameter signatures of the method must exactly match between the interface and the implementation of the method on a class. Also, the return types must match exactly. For more information, see Interfaces Overview.

Output: Suppose an interface had a method that input a parameter of an int. In a class that implements the interface, it was possible to write the method with a parameter of a str.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Interfaces [Syntax rule] A non-abstract base class that implements an interface cannot rely on a derived class for that implementation Now the compiler requires that every class that implements an interface must have or inherit a complete implementation of every method of the interface. For more information, see X++, C# Comparison: Object Oriented Programming.

Output: When a base class implements an interface, it was possible for the class to not implement the methods of the interface if a derived class implemented the methods. The only limitation was that the new constructor method could not be called on the class.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Modifiers [Syntax rule] The static modifier should not be applied to an interface Sometime after Microsoft Dynamics AX 2009 the X++ compiler might stop allowing the static modifier on interface declarations. For more information, see Interfaces Overview.

Output: It was possible to write static interface IMyInterface {}, but the static modifier had no effect because it makes no sense in this context.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Modifiers [Syntax rule] The static modifier must not be applied to the new constructor Now the compiler issues an error when the static modifier is applied to the new method. For more information, see Constructors.

Output: It was possible to apply the static modifier to the declaration of the new constructor method. This caused new MyClass(); to behave as a null operation. Instead, the statement MyClass::new(); would call the static new method, but that would not construct an object.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Modifiers [Syntax rule] Use an explicit access modifier on each method Now the New Method menu item explicitly includes the private keyword in its automatic declaration of the new method. The developer can type in a different modifier if appropriate. For more information, see Method Modifiers.

Output: In the past the menu item of AOT > Classes > MyClass > New Method created the method without any access modifier. This meant that the method was implicitly public, although some X++ developers might not have been fully aware of the default. This created extra work later when a developer needed to modify the code in the method, because the developer had to research everywhere that the method might be called from.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Parameters [Syntax rule] Parameters given in a call to a new constructor method must match the parameters on the new constructor method Now the call to the new method must exactly match the declared parameter signature of the new method. For more information, see Creating a Subclass.

Output: It was possible to pass in multiple parameters on call to a new constructor method even when the new method was declared to input no parameters.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Parameters [Syntax rule] Parameters with default values must come after all parameters that do not have default values Now in the declaration of a method, any parameter that offers a default value must come after all the parameters that do not. For more information, see the following topics: Using Optional Parameters Best Practices for Parameters

Output: It was possible to declare a method that takes in two parameters, and have only the first parameter offer a default value. There was no purpose to this. There was no way to accept the default of the first parameter because the call must specify a value for the second parameter and cannot omit the first parameter.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Parameters [Syntax rule] Override of a method must have the same default parameters as the overridden method Now the override method must list the same parameter types in the same sequence that they are declared in the overridden method. For more information, see Overriding a Method.

Output: It was possible to declare a method as public void myMethod(int i=22){} and the override as public void myMethod(){}. But if the override method was called as derivedObject(333); an error occurred.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Area] Preprocessor [Syntax rule] A TODO in a comment must be the first non-whitespace in the first line of the comment Now the X++ preprocessor detects the TODO keyword only if TODO appears on the first line of the comment, and as the first non-whitespace in the comment. For more information, see TODO Comments for X++ Developer Tasks.

Output: The X++ preprocessor used to detect the TODO keyword in a multi-line /* ... */ task comment even when the TODO appeared after other text after the first comment line.

X++ Language Syntax is Stricter in Microsoft Dynamics AX 2012 [AX 2012]


Input: [Name] Equals [Description]

Output: Indicates whether a specified object and the current IdnMapping object are equal. (Overrides Object.Equals(Object).)


Input: [Name] GetAscii(String) [Description]

Output: Encodes a string of domain name labels that consist of Unicode characters to a string of displayable Unicode characters in the US-ASCII character range. The string is formatted according to the IDNA standard.


Input: [Name] GetAscii(String, Int32) [Description]

Output: Encodes a substring of domain name labels that include Unicode characters outside the US-ASCII character range. The substring is converted to a string of displayable Unicode characters in the US-ASCII character range and is formatted according to the IDNA standard.


Input: [Name] GetAscii(String, Int32, Int32) [Description]

Output: Encodes the specified number of characters in a substring of domain name labels that include Unicode characters outside the US-ASCII character range. The substring is converted to a string of displayable Unicode characters in the US-ASCII character range and is formatted according to the IDNA standard.


Input: [Name] GetHashCode [Description]

Output: Returns a hash code for this IdnMapping object. (Overrides Object.GetHashCode().)


Input: [Name] GetType [Description]

Output: Gets the Type of the current instance. (Inherited from Object.)


Input: [Name] GetUnicode(String) [Description]

Output: Decodes a string of one or more domain name labels, encoded according to the IDNA standard, to a string of Unicode characters.


Input: [Name] GetUnicode(String, Int32) [Description]

Output: Decodes a substring of one or more domain name labels, encoded according to the IDNA standard, to a string of Unicode characters.


Input: [Name] GetUnicode(String, Int32, Int32) [Description]

Output: Decodes a substring of a specified length that contains one or more domain name labels, encoded according to the IDNA standard, to a string of Unicode characters.


Input: [Name] ToString [Description]

Output: Returns a string that represents the current object. (Inherited from Object.)


Input: [Name] AcceptAllChanges [Description]

Output: Accepts all changes made to objects in the object context.


Input: [Name] AddObject [Description]

Output: Adds an object to the object context.


Input: [Name] ApplyCurrentValues(TEntity) [Description]

Output: Copies the scalar values from the supplied object into the object in the ObjectContext that has the same key.


Input: [Name] ApplyOriginalValues(TEntity) [Description]

Output: Copies the scalar values from the supplied object into set of original values for the object in the ObjectContext that has the same key.


Input: [Name] ApplyPropertyChanges [Description]

Output: Obsolete. Applies property changes from a detached object to an object already attached to the object context.


Input: [Name] Attach [Description]

Output: Attaches an object or object graph to the object context when the object has an entity key.


Input: [Name] AttachTo [Description]

Output: Attaches an object or object graph to the object context in a specific entity set.


Input: [Name] CreateDatabase [Description]

Output: Creates the database by using the current data source connection and the metadata in the StoreItemCollection.


Input: [Name] CreateDatabaseScript [Description]

Output: Generates a data definition language (DDL) script that creates schema objects (tables, primary keys, foreign keys) for the metadata in the StoreItemCollection. The StoreItemCollection loads metadata from store schema definition language (SSDL) files.


Input: [Name] CreateEntityKey [Description]

Output: Creates the entity key for a specific object, or returns the entity key if it already exists.


Input: [Name] CreateObject(T) [Description]

Output: Creates and returns an instance of the requested type .


Input: [Name] CreateObjectSet(TEntity)() [Description]

Output: Creates a new ObjectSet(TEntity) instance that is used to query, add, modify, and delete objects of the specified entity type.


Input: [Name] CreateObjectSet(TEntity)(String) [Description]

Output: Creates a new ObjectSet(TEntity) instance that is used to query, add, modify, and delete objects of the specified type and with the specified entity set name.


Input: [Name] CreateProxyTypes [Description]

Output: Generates an equivalent type that can be used with the Entity Framework for each type in the supplied enumeration.


Input: [Name] CreateQuery(T) [Description]

Output: Creates an ObjectQuery(T) in the current object context by using the specified query string.


Input: [Name] DatabaseExists [Description]

Output: Checks if the database that is specified as the database in the current data source connection exists on the data source.


Input: [Name] DeleteDatabase [Description]

Output: Deletes the database that is specified as the database in the current data source connection.


Input: [Name] DeleteObject [Description]

Output: Marks an object for deletion.


Input: [Name] Detach [Description]

Output: Removes the object from the object context.


Input: [Name] DetectChanges [Description]

Output: Ensures that ObjectStateEntry changes are synchronized with changes in all objects that are tracked by the ObjectStateManager.


Input: [Name] Dispose() [Description]

Output: Releases the resources used by the object context.


Input: [Name] Dispose(Boolean) [Description]

Output: Releases the resources used by the object context.


Input: [Name] Equals(Object) [Description]

Output: Determines whether the specified object is equal to the current object. (Inherited from Object.)


Input: [Name] ExecuteFunction(String, ObjectParameter[]) [Description]

Output: Executes a stored procedure or function that is defined in the data source and expressed in the conceptual model; discards any results returned from the function; and returns the number of rows affected by the execution.


Input: [Name] ExecuteFunction(TElement)(String, ObjectParameter[]) [Description]

Output: Executes a stored procedure or function that is defined in the data source and mapped in the conceptual model, with the specified parameters. Returns a typed ObjectResult(T).


Input: [Name] ExecuteFunction(TElement)(String, MergeOption, ObjectParameter[]) [Description]

Output: Executes the given stored procedure or function that is defined in the data source and expressed in the conceptual model, with the specified parameters, and merge option. Returns a typed ObjectResult(T).


Input: [Name] ExecuteStoreCommand [Description]

Output: Executes an arbitrary command directly against the data source using the existing connection.


Input: [Name] ExecuteStoreQuery(TElement)(String, Object[]) [Description]

Output: Executes a query directly against the data source that returns a sequence of typed results.


Input: [Name] ExecuteStoreQuery(TEntity)(String, String, MergeOption, Object[]) [Description]

Output: Executes a query directly against the data source and returns a sequence of typed results. Specify the entity set and the merge option so that query results can be tracked as entities.


Input: [Name] Finalize [Description]

Output: Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)


Input: [Name] GetHashCode [Description]

Output: Serves as the default hash function. (Inherited from Object.)


Input: [Name] GetKnownProxyTypes [Description]

Output: Returns all the existing proxy types.


Input: [Name] GetObjectByKey [Description]

Output: Returns an object that has the specified entity key.


Input: [Name] GetObjectType [Description]

Output: Returns the entity type of the POCO entity associated with a proxy object of a specified type.