Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Utils / StrongBox.cs / 1305376 / StrongBox.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.
*
*
* ***************************************************************************/
namespace System.Runtime.CompilerServices {
///
/// Holds a reference to a value.
///
/// The type of the value that the references.
public class StrongBox : IStrongBox {
///
/// Gets the strongly typed value associated with the
/// This is explicitly exposed as a field instead of a property to enable loading the address of the field.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields")]
public T Value;
///
/// Initializes a new StrongBox which can receive a value when used in a reference call.
///
public StrongBox() {
}
///
/// Initializes a new with the specified value.
///
/// A value that the will reference.
public StrongBox(T value) {
Value = value;
}
object IStrongBox.Value {
get {
return Value;
}
set {
Value = (T)value;
}
}
}
///
/// Defines a property for accessing the value that an object references.
///
public interface IStrongBox {
///
/// Gets or sets the value the object references.
///
object Value { get; set; }
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
/* ****************************************************************************
*
* 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.
*
*
* ***************************************************************************/
namespace System.Runtime.CompilerServices {
///
/// Holds a reference to a value.
///
/// The type of the value that the references.
public class StrongBox : IStrongBox {
///
/// Gets the strongly typed value associated with the
/// This is explicitly exposed as a field instead of a property to enable loading the address of the field.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields")]
public T Value;
///
/// Initializes a new StrongBox which can receive a value when used in a reference call.
///
public StrongBox() {
}
///
/// Initializes a new with the specified value.
///
/// A value that the will reference.
public StrongBox(T value) {
Value = value;
}
object IStrongBox.Value {
get {
return Value;
}
set {
Value = (T)value;
}
}
}
///
/// Defines a property for accessing the value that an object references.
///
public interface IStrongBox {
///
/// Gets or sets the value the object references.
///
object Value { get; set; }
}
}
// 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
- ByteViewer.cs
- KeyEvent.cs
- CheckBoxField.cs
- NamedObjectList.cs
- SR.cs
- _NestedSingleAsyncResult.cs
- MethodCallConverter.cs
- ResourceReader.cs
- EventHandlers.cs
- HtmlTextArea.cs
- ResourcesGenerator.cs
- Keywords.cs
- NativeCppClassAttribute.cs
- CacheOutputQuery.cs
- NameTable.cs
- OleDbCommand.cs
- ProviderIncompatibleException.cs
- MtomMessageEncoder.cs
- RoleService.cs
- ValidatingReaderNodeData.cs
- PolyQuadraticBezierSegment.cs
- SqlFunctionAttribute.cs
- Geometry.cs
- GeometryHitTestParameters.cs
- UnsafeNativeMethods.cs
- ConfigurationConverterBase.cs
- MemoryFailPoint.cs
- EntitySqlQueryCacheEntry.cs
- ExpressionBinding.cs
- TemplateBamlTreeBuilder.cs
- SafeProcessHandle.cs
- PermissionRequestEvidence.cs
- IsolatedStorageFile.cs
- System.Data.OracleClient_BID.cs
- BindingsSection.cs
- MobileRedirect.cs
- EditingMode.cs
- AutoResetEvent.cs
- Polyline.cs
- RegexRunnerFactory.cs
- UrlAuthorizationModule.cs
- TextChange.cs
- TypeConverterHelper.cs
- RegexCompilationInfo.cs
- CommandHelper.cs
- SchemaCollectionPreprocessor.cs
- EventlogProvider.cs
- FormClosingEvent.cs
- SafeNativeMethodsOther.cs
- TrackBarRenderer.cs
- ComponentResourceKey.cs
- ReadOnlyCollectionBase.cs
- DataGridColumn.cs
- Message.cs
- WebDescriptionAttribute.cs
- OutgoingWebResponseContext.cs
- COM2EnumConverter.cs
- StringStorage.cs
- GradientBrush.cs
- FontCacheLogic.cs
- IEnumerable.cs
- XmlQueryRuntime.cs
- AddInActivator.cs
- SinglePhaseEnlistment.cs
- HeaderCollection.cs
- CodeLinePragma.cs
- ByteFacetDescriptionElement.cs
- XmlSchemaAll.cs
- WebPartConnectionsCancelEventArgs.cs
- Pool.cs
- WsatServiceAddress.cs
- DSACryptoServiceProvider.cs
- ExpressionVisitorHelpers.cs
- XamlSerializerUtil.cs
- GlyphsSerializer.cs
- VirtualPathProvider.cs
- StdValidatorsAndConverters.cs
- IOException.cs
- HandlerMappingMemo.cs
- HMACSHA256.cs
- RtfFormatStack.cs
- LabelTarget.cs
- DataGridViewCell.cs
- TransformerInfo.cs
- SaveLedgerEntryRequest.cs
- HtmlInputReset.cs
- RsaEndpointIdentity.cs
- Int32Converter.cs
- BypassElementCollection.cs
- TextMessageEncodingBindingElement.cs
- CopyNamespacesAction.cs
- WebPartEditorCancelVerb.cs
- GenericTypeParameterConverter.cs
- XmlWellformedWriter.cs
- FixedDocumentSequencePaginator.cs
- WinFormsUtils.cs
- ForwardPositionQuery.cs
- DataContractJsonSerializer.cs
- _NegotiateClient.cs
- SvcMapFileLoader.cs