CommonTools/PropertyUtil.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Reflection;
using System.Drawing;

namespace CommonTools
{
	public class PropertyUtil
	{
		private static PropertyInfo GetNestedProperty(object dataobject, string[] nestedfields, int curindex, ref object nestedDataObject)
		{
			nestedDataObject = dataobject;
			string fieldname = nestedfields[curindex];
			PropertyInfo property = GetProperty(dataobject, fieldname);
			if (property == null)
				return null;
			dataobject = property.GetValue(dataobject, null);
			curindex++;
			if (curindex == nestedfields.Length)
				return property;
			return GetNestedProperty(dataobject, nestedfields, curindex, ref nestedDataObject);
		}
		public static PropertyInfo GetNestedProperty(object dataobject, ref object nestedDataObject, string fullFieldname)
		{
			string[] names = fullFieldname.Split('.');
			return GetNestedProperty(dataobject, names, 0, ref nestedDataObject);
		}
		public static PropertyInfo GetNestedProperty(ref object dataobject, string fullFieldname)
		{
			return GetNestedProperty(dataobject, ref dataobject, fullFieldname);
		}

		public static PropertyInfo GetProperty(object dataobject, string propertyname)
		{
			if (dataobject == null)
				return null;
			return GetProperty(dataobject.GetType(), propertyname);
		}
		public static PropertyInfo GetProperty(Type dataobjecttype, string propertyname)
		{
			MemberInfo[] members = dataobjecttype.GetMember(propertyname);
			foreach (MemberInfo member in members)
			{
				PropertyInfo property = (member as PropertyInfo);
				if (property != null)
					return property;
			}
			return null;
		}

		private static bool IsPrimitive(object obj)
		{
			if (obj == null)
				return false;
			Type type = obj.GetType();
			if (type.IsPrimitive || type.IsEnum || type == typeof(string))
				return true;
			return false;
后面还有 115 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。