Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Ast / LabelTarget.cs / 1305376 / LabelTarget.cs
/* ****************************************************************************
*
* Copyright (c) Microsoft Corporation.
*
* This source code is subject to terms and conditions of the Microsoft Public License. A
* copy of the license can be found in the License.html file at the root of this distribution. If
* you cannot locate the Microsoft Public License, please send an email to
* dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound
* by the terms of the Microsoft Public License.
*
* You must not remove this notice, or any other, from this software.
*
*
* ***************************************************************************/
using System.Dynamic.Utils;
namespace System.Linq.Expressions {
///
/// Used to denote the target of a .
///
public sealed class LabelTarget {
private readonly Type _type;
private readonly string _name;
internal LabelTarget(Type type, string name) {
_type = type;
_name = name;
}
///
/// Gets the name of the label.
///
/// The label's name is provided for information purposes only.
public string Name {
get { return _name; }
}
///
/// The type of value that is passed when jumping to the label
/// (or System.Void if no value should be passed).
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1721:PropertyNamesShouldNotMatchGetMethods")]
public Type Type {
get { return _type; }
}
///
/// Returns a that represents the current .
///
/// A that represents the current .
public override string ToString() {
return String.IsNullOrEmpty(this.Name) ? "UnamedLabel" : this.Name;
}
}
public partial class Expression {
///
/// Creates a representing a label with void type and no name.
///
/// The new .
public static LabelTarget Label() {
return Label(typeof(void), null);
}
///
/// Creates a representing a label with void type and the given name.
///
/// The name of the label.
/// The new .
public static LabelTarget Label(string name) {
return Label(typeof(void), name);
}
///
/// Creates a representing a label with the given type.
///
/// The type of value that is passed when jumping to the label.
/// The new .
public static LabelTarget Label(Type type) {
return Label(type, null);
}
///
/// Creates a representing a label with the given type and name.
///
/// The type of value that is passed when jumping to the label.
/// The name of the label.
/// The new .
public static LabelTarget Label(Type type, string name) {
ContractUtils.RequiresNotNull(type, "type");
TypeUtils.ValidateType(type);
return new LabelTarget(type, name);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ICspAsymmetricAlgorithm.cs
- DatePickerTextBox.cs
- PrintingPermissionAttribute.cs
- LeftCellWrapper.cs
- Claim.cs
- clipboard.cs
- WinFormsSecurity.cs
- ProgressChangedEventArgs.cs
- WebSysDefaultValueAttribute.cs
- AsyncOperationContext.cs
- Inline.cs
- StandardBindingCollectionElement.cs
- TransformerInfo.cs
- ManagementExtension.cs
- ToolTipAutomationPeer.cs
- OutputCacheProfileCollection.cs
- XmlDocument.cs
- AccessViolationException.cs
- Convert.cs
- RichTextBoxDesigner.cs
- Operand.cs
- ActivityDesigner.cs
- RelatedImageListAttribute.cs
- PointLight.cs
- URLIdentityPermission.cs
- ColumnWidthChangedEvent.cs
- HashSetEqualityComparer.cs
- SchemaDeclBase.cs
- ViewDesigner.cs
- DataColumnCollection.cs
- NodeInfo.cs
- JapaneseLunisolarCalendar.cs
- CornerRadius.cs
- BaseTemplateCodeDomTreeGenerator.cs
- MappingItemCollection.cs
- OdbcUtils.cs
- Regex.cs
- Win32NamedPipes.cs
- HwndSource.cs
- StrokeNodeOperations2.cs
- OutputCacheProfile.cs
- FixedSOMPage.cs
- WebPartAuthorizationEventArgs.cs
- SmiMetaData.cs
- Misc.cs
- DataBindingCollection.cs
- Preprocessor.cs
- BooleanExpr.cs
- SQLSingleStorage.cs
- ContainerActivationHelper.cs
- ListBoxItemWrapperAutomationPeer.cs
- StreamUpdate.cs
- GenerateScriptTypeAttribute.cs
- SqlTriggerContext.cs
- WebPartDisplayModeCollection.cs
- Form.cs
- SHA1.cs
- ListView.cs
- Win32PrintDialog.cs
- SkipQueryOptionExpression.cs
- DataGridSortCommandEventArgs.cs
- Sentence.cs
- SqlFormatter.cs
- StoreContentChangedEventArgs.cs
- regiisutil.cs
- Function.cs
- EncryptedPackage.cs
- XamlStackWriter.cs
- JournalEntry.cs
- BitmapEditor.cs
- ImageCodecInfo.cs
- SynchronizationContext.cs
- JoinElimination.cs
- AdornerDecorator.cs
- ViewLoader.cs
- __Error.cs
- ResourceCategoryAttribute.cs
- VectorAnimationUsingKeyFrames.cs
- SystemThemeKey.cs
- ProcessHostServerConfig.cs
- DataSourceControlBuilder.cs
- TreeIterator.cs
- DataGridViewDataConnection.cs
- DateTimeOffset.cs
- BypassElementCollection.cs
- XPathDocumentBuilder.cs
- XmlMtomReader.cs
- AxHostDesigner.cs
- CatalogPartDesigner.cs
- controlskin.cs
- CompModSwitches.cs
- ViewGenResults.cs
- StrongName.cs
- CodeNamespace.cs
- UpdateDelegates.Generated.cs
- ProfileService.cs
- StructuredTypeInfo.cs
- Header.cs
- MasterPageBuildProvider.cs
- GeneralTransform3DGroup.cs