using System.Reflection;
using System.Data.SqlClient;
class Utils
{
internal static T GetAttribute(ICustomAttributeProvider attributeProvider)
{
T[] attrs = GetAttributes(attributeProvider);
return attrs.Length > 0 ? attrs[0] : default(T);
}
internal static T[] GetAttributes(ICustomAttributeProvider attributeProvider)
{
object[] attributes = attributeProvider.GetCustomAttributes(typeof(T), false);
T[] ts = new T[attributes.Length];
for (int i = 0; i < attributes.Length; ++i)
ts[i] = (T)attributes[i];
return ts;
}
internal static bool HasGetter(PropertyInfo info)
{
if (info.GetGetMethod() == null && info.GetGetMethod(true) == null)
return false;
else
return true;
}
internal static bool HasSetter(PropertyInfo info)
{
if (info.GetSetMethod() == null && info.GetSetMethod(true) == null)
return false;
else
return true;
}
internal static bool IsIndexer(PropertyInfo info)
{
MethodInfo minfo = info.GetGetMethod() == null ? info.GetGetMethod(true) : info.GetGetMethod();
if (minfo.GetParameters().Length > 0)
return true;
else
return false;
}
}