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
- LogicalCallContext.cs
- OutputCacheProfile.cs
- MobileContainerDesigner.cs
- TickBar.cs
- ReadOnlyDictionary.cs
- TreeNode.cs
- DateTimeValueSerializerContext.cs
- AspNetSynchronizationContext.cs
- TdsParserStaticMethods.cs
- PlaceHolder.cs
- FacetEnabledSchemaElement.cs
- CultureSpecificCharacterBufferRange.cs
- dataobject.cs
- ValidationResult.cs
- MessageSecurityException.cs
- ActiveXMessageFormatter.cs
- FormattedText.cs
- IncrementalReadDecoders.cs
- WebResourceUtil.cs
- GeometryGroup.cs
- ContextProperty.cs
- StringInfo.cs
- SafeNativeMethods.cs
- PageAsyncTask.cs
- IdleTimeoutMonitor.cs
- IPPacketInformation.cs
- RegexCompiler.cs
- Int16.cs
- MiniAssembly.cs
- SafeHandle.cs
- DependencyObjectType.cs
- DataSetUtil.cs
- TypeListConverter.cs
- XmlWhitespace.cs
- SEHException.cs
- UserPreferenceChangingEventArgs.cs
- CorrelationKey.cs
- SqlMethodCallConverter.cs
- Suspend.cs
- CroppedBitmap.cs
- InOutArgument.cs
- CodeDomConfigurationHandler.cs
- MaterialCollection.cs
- RectangleHotSpot.cs
- SQLUtility.cs
- DataViewManager.cs
- LinkConverter.cs
- ExpressionBuilder.cs
- BoolLiteral.cs
- SizeAnimation.cs
- ResourceReferenceExpressionConverter.cs
- VariableElement.cs
- ManagementOperationWatcher.cs
- AuthStoreRoleProvider.cs
- InkCanvasSelectionAdorner.cs
- HiddenFieldPageStatePersister.cs
- MsmqActivation.cs
- EditableTreeList.cs
- XmlDocumentType.cs
- UserControl.cs
- DocumentOutline.cs
- RawStylusSystemGestureInputReport.cs
- CredentialCache.cs
- DataFormat.cs
- ChangeDirector.cs
- BamlResourceSerializer.cs
- XPathParser.cs
- ModelServiceImpl.cs
- SnapshotChangeTrackingStrategy.cs
- ParallelQuery.cs
- OleDbRowUpdatedEvent.cs
- FixedPageStructure.cs
- TextEditorMouse.cs
- newinstructionaction.cs
- LoginCancelEventArgs.cs
- TryExpression.cs
- SystemWebExtensionsSectionGroup.cs
- XmlToDatasetMap.cs
- ActivityMarkupSerializationProvider.cs
- FileVersionInfo.cs
- CodeFieldReferenceExpression.cs
- PolicyException.cs
- HebrewNumber.cs
- ComponentDispatcherThread.cs
- Schema.cs
- SafeNativeMethods.cs
- AutomationElementCollection.cs
- SqlDataSourceView.cs
- XmlAutoDetectWriter.cs
- CodeSnippetTypeMember.cs
- IndexingContentUnit.cs
- SpellCheck.cs
- OrthographicCamera.cs
- LiteralControl.cs
- DataGridViewCellStyle.cs
- DataGridViewTopRowAccessibleObject.cs
- XmlSchemaRedefine.cs
- FixUpCollection.cs
- TextCharacters.cs
- KerberosReceiverSecurityToken.cs