BindingUtils.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / Binding / BindingUtils.cs / 1305376 / BindingUtils.cs

                            //---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//  
//   Utilities for binding related operations
//  
// 
//---------------------------------------------------------------------
 
namespace System.Data.Services.Client
{
#region Namespaces
    using System.Diagnostics; 
    using System.Diagnostics.CodeAnalysis;
    using System.Reflection; 
    using System.Collections; 
#endregion
 
    /// Utilities for binding related operations
    internal static class BindingUtils
    {
        ///  
        /// Throw if the entity set name is null or empty
        ///  
        /// entity set name. 
        /// entity instance for which the entity set name is generated.
        internal static void ValidateEntitySetName(string entitySetName, object entity) 
        {
            if (String.IsNullOrEmpty(entitySetName))
            {
                throw new InvalidOperationException(Strings.DataBinding_Util_UnknownEntitySetName(entity.GetType().FullName)); 
            }
        } 
 
        /// 
        /// Given a collection type, gets it's entity type 
        /// 
        /// Input collection type
        /// Generic type argument for the collection
        internal static Type GetCollectionEntityType(Type collectionType) 
        {
            while (collectionType != null) 
            { 
                if (collectionType.IsGenericType && WebUtil.IsDataServiceCollectionType(collectionType.GetGenericTypeDefinition()))
                { 
                    return collectionType.GetGenericArguments()[0];
                }

                collectionType = collectionType.BaseType; 
            }
 
            return null; 
        }
 
        /// Verifies the absence of observer for an DataServiceCollection
        /// Type of DataServiceCollection
        /// Non-typed collection object
        /// Collection property of the source object which is being assigned to 
        /// Type of the source object
        internal static void VerifyObserverNotPresent(object oec, string sourceProperty, Type sourceType) 
        { 
            Debug.Assert(BindingEntityInfo.IsDataServiceCollection(oec.GetType()), "Must be an DataServiceCollection.");
 
            DataServiceCollection typedCollection = oec as DataServiceCollection;

            if (typedCollection.Observer != null)
            { 
                throw new InvalidOperationException(Strings.DataBinding_CollectionPropertySetterValueHasObserver(sourceProperty, sourceType));
            } 
        } 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK