⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datasourcehelper.cs

📁 ASP中web自定义控件的使用源码及说明文档
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Web;

namespace Bestcomy.Web.UI.WebControls
{
	/// <summary>
	/// 
	/// </summary>
	internal sealed class DataSourceHelper
	{
		// Methods
		private DataSourceHelper()
		{
		}

		internal static IEnumerable GetResolvedDataSource(object dataSource, string dataMember)
		{
			if (dataSource != null)
			{
				IListSource source1 = dataSource as IListSource;
				if (source1 != null)
				{
					IList list1 = source1.GetList();
					if (!source1.ContainsListCollection)
					{
						return list1;
					}
					if ((list1 != null) && (list1 is ITypedList))
					{
						ITypedList list2 = (ITypedList) list1;
						PropertyDescriptorCollection collection1 = list2.GetItemProperties(new PropertyDescriptor[0]);
						if ((collection1 == null) || (collection1.Count == 0))
						{
							throw new HttpException("DataMembers unavailable.");
						}
						PropertyDescriptor descriptor1 = null;
						if ((dataMember == null) || (dataMember.Length == 0))
						{
							descriptor1 = collection1[0];
						}
						else
						{
							descriptor1 = collection1.Find(dataMember, true);
						}
						if (descriptor1 != null)
						{
							object obj1 = list1[0];
							object obj2 = descriptor1.GetValue(obj1);
							if ((obj2 != null) && (obj2 is IEnumerable))
							{
								return (IEnumerable) obj2;
							}
						}
						throw new HttpException(string.Format("DataMember \"{0}\" dose not exist.",dataMember));
					}
				}
				if (dataSource is IEnumerable)
				{
					return (IEnumerable) dataSource;
				}
			}
			return null;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -