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
- TextRange.cs
- ElementHostAutomationPeer.cs
- SignatureToken.cs
- TextParagraphCache.cs
- FileDataSourceCache.cs
- SystemBrushes.cs
- UpDownBase.cs
- Substitution.cs
- ADRoleFactoryConfiguration.cs
- UrlPropertyAttribute.cs
- CreateUserWizardAutoFormat.cs
- WorkflowViewService.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- PageThemeParser.cs
- ListViewTableRow.cs
- StatusBarAutomationPeer.cs
- RoleBoolean.cs
- XmlEncodedRawTextWriter.cs
- DynamicDataManager.cs
- NameValuePair.cs
- CodeParameterDeclarationExpression.cs
- PerformanceCounterManager.cs
- SeekableReadStream.cs
- Preprocessor.cs
- AdCreatedEventArgs.cs
- UIAgentAsyncParams.cs
- IEnumerable.cs
- StateMachineExecutionState.cs
- SafeEventLogReadHandle.cs
- SharedStatics.cs
- AutomationIdentifier.cs
- Publisher.cs
- DisableDpiAwarenessAttribute.cs
- SoapAttributes.cs
- EntryPointNotFoundException.cs
- StringSource.cs
- GetLedgerRequest.cs
- StreamWriter.cs
- ExportOptions.cs
- HijriCalendar.cs
- WebSysDefaultValueAttribute.cs
- HttpCachePolicy.cs
- UnwrappedTypesXmlSerializerManager.cs
- RootProfilePropertySettingsCollection.cs
- InvokerUtil.cs
- TempFiles.cs
- NumericPagerField.cs
- CheckableControlBaseAdapter.cs
- BaseTemplateCodeDomTreeGenerator.cs
- RemoteCryptoRsaServiceProvider.cs
- BitmapEffectGeneralTransform.cs
- GlyphsSerializer.cs
- HashHelper.cs
- SqlFacetAttribute.cs
- SizeKeyFrameCollection.cs
- Range.cs
- HyperLink.cs
- ManagementEventWatcher.cs
- ByteStreamMessage.cs
- CopyNamespacesAction.cs
- SimplePropertyEntry.cs
- SystemColors.cs
- sortedlist.cs
- BitmapEffectDrawing.cs
- SHA256.cs
- TcpConnectionPoolSettingsElement.cs
- WebServiceData.cs
- MediaPlayerState.cs
- TextParagraphView.cs
- AVElementHelper.cs
- TextDecorations.cs
- infer.cs
- WorkerRequest.cs
- ProviderConnectionPoint.cs
- BitVector32.cs
- UnsafeNativeMethods.cs
- TypeSource.cs
- NullRuntimeConfig.cs
- CalendarAutoFormatDialog.cs
- TriggerAction.cs
- MailDefinition.cs
- Expressions.cs
- ManagementClass.cs
- NativeObjectSecurity.cs
- AssemblyContextControlItem.cs
- TreeNodeStyleCollection.cs
- ContractMapping.cs
- GcSettings.cs
- OleDbDataReader.cs
- NameTable.cs
- XmlMapping.cs
- EntityClientCacheEntry.cs
- PeerResolver.cs
- ExternalException.cs
- path.cs
- ClockController.cs
- PersonalizationProviderCollection.cs
- UpdateRecord.cs
- WebPartUtil.cs
- RsaKeyIdentifierClause.cs