Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / ResourceExpressionEditor.cs / 1 / ResourceExpressionEditor.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.Design {
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Web.Compilation;
///
public class ResourceExpressionEditor : ExpressionEditor {
///
public override object EvaluateExpression(string expression, object parseTimeData, Type propertyType, IServiceProvider serviceProvider) {
ResourceExpressionFields fields;
if (parseTimeData is ResourceExpressionFields) {
fields = (ResourceExpressionFields)parseTimeData;
}
else {
fields = ResourceExpressionBuilder.ParseExpression(expression);
}
if (String.IsNullOrEmpty(fields.ResourceKey)) {
return null;
}
object resource = null;
DesignTimeResourceProviderFactory resourceProviderFactory = ControlDesigner.GetDesignTimeResourceProviderFactory(serviceProvider);
IResourceProvider resProvider;
if (String.IsNullOrEmpty(fields.ClassKey)) {
resProvider = resourceProviderFactory.CreateDesignTimeLocalResourceProvider(serviceProvider);
}
else {
resProvider = resourceProviderFactory.CreateDesignTimeGlobalResourceProvider(serviceProvider, fields.ClassKey);
}
if (resProvider != null) {
resource = resProvider.GetObject(fields.ResourceKey, System.Globalization.CultureInfo.InvariantCulture);
}
if (resource != null) {
Type resourceType = resource.GetType();
if (!propertyType.IsAssignableFrom(resourceType)) {
TypeConverter converter = TypeDescriptor.GetConverter(propertyType);
if ((converter != null) && converter.CanConvertFrom(resourceType)) {
return converter.ConvertFrom(resource);
}
}
}
return resource;
}
public override ExpressionEditorSheet GetExpressionEditorSheet(string expression, IServiceProvider serviceProvider) {
return new ResourceExpressionEditorSheet(expression, serviceProvider);
}
}
}
// 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
- SqlAliaser.cs
- DataFormat.cs
- SQLInt16Storage.cs
- MethodAccessException.cs
- HtmlTitle.cs
- DockPanel.cs
- InsufficientMemoryException.cs
- ApplicationTrust.cs
- Binding.cs
- TypedDataSourceCodeGenerator.cs
- PrinterResolution.cs
- OdbcTransaction.cs
- WebHeaderCollection.cs
- GridProviderWrapper.cs
- SamlSubjectStatement.cs
- RowUpdatingEventArgs.cs
- CmsUtils.cs
- DayRenderEvent.cs
- ExtensionQuery.cs
- DesignerExtenders.cs
- HttpCacheParams.cs
- WindowsUpDown.cs
- FixedSOMTableCell.cs
- MessageFilter.cs
- GlyphRunDrawing.cs
- unsafenativemethodstextservices.cs
- ImportCatalogPart.cs
- SqlClientWrapperSmiStreamChars.cs
- ExeConfigurationFileMap.cs
- ErrorFormatter.cs
- NavigationFailedEventArgs.cs
- PolygonHotSpot.cs
- WorkerRequest.cs
- PartialList.cs
- NameNode.cs
- GeometryModel3D.cs
- SerTrace.cs
- TrackingServices.cs
- SymLanguageType.cs
- ScopeCompiler.cs
- PanelContainerDesigner.cs
- SQLChars.cs
- ConnectionManagementElement.cs
- ProxyWebPart.cs
- TabletDevice.cs
- EventMappingSettings.cs
- XmlSchemaComplexType.cs
- SafeMemoryMappedViewHandle.cs
- BindableAttribute.cs
- MembershipValidatePasswordEventArgs.cs
- HttpModuleCollection.cs
- DataGridTablesFactory.cs
- ProfileGroupSettings.cs
- MappingException.cs
- ClockGroup.cs
- dbenumerator.cs
- ResourceManagerWrapper.cs
- WindowsUpDown.cs
- UTF8Encoding.cs
- TraceHwndHost.cs
- ExceptionHandlerDesigner.cs
- DataGridViewComponentPropertyGridSite.cs
- Membership.cs
- Win32KeyboardDevice.cs
- WindowAutomationPeer.cs
- ClientUtils.cs
- PhonemeEventArgs.cs
- PathParser.cs
- AbstractExpressions.cs
- GridPatternIdentifiers.cs
- GenericUriParser.cs
- HttpCapabilitiesBase.cs
- ListViewHitTestInfo.cs
- ListCollectionView.cs
- SecurityTokenRequirement.cs
- HtmlInputControl.cs
- AxisAngleRotation3D.cs
- DrawingBrush.cs
- ElementMarkupObject.cs
- DataGridViewRowConverter.cs
- CodeIndexerExpression.cs
- TraceHwndHost.cs
- XsltOutput.cs
- ImageMap.cs
- CompositionTarget.cs
- TraceSwitch.cs
- SqlDataReaderSmi.cs
- StickyNoteAnnotations.cs
- SecurityVersion.cs
- TrackingServices.cs
- CopyNodeSetAction.cs
- ToolStripHighContrastRenderer.cs
- Typeface.cs
- TextTreeRootNode.cs
- ScrollProviderWrapper.cs
- Win32PrintDialog.cs
- ListDictionary.cs
- CoTaskMemHandle.cs
- CollectionViewGroup.cs
- TriggerActionCollection.cs