/// <summary> /// 类能否被继承 /// </summary> /// <param name="type"></param> /// <returns></returns> public static bool IsCanInherited(this Type type) { if (type.IsValueType || !type.IsClass || type == typeof(Delegate)) { return(false); } var keyword = KeywordAnalysis.GetClassKeyword(type); if (keyword == ClassKeyword.Abstract || keyword == ClassKeyword.Sealed || keyword == ClassKeyword.Static) { return(false); } return(true); }
/// <summary> /// 获取修饰符 /// </summary> /// <param name="info">字段</param> /// <returns></returns> public static FieldKeyword GetKeyword(this FieldInfo info) { return(KeywordAnalysis.GetFieldKeyword(info)); }
/// <summary> /// 获取方法关键字 /// </summary> /// <param name="method"></param> /// <returns></returns> public static MethodKeyword GetKeyword(this MethodInfo method) { return(KeywordAnalysis.GetMethodKeyword(method)); }
/// <summary> /// 获取修饰符 /// </summary> /// <param name="info"></param> /// <returns></returns> public static PropertyKeyword GetKeyword(this PropertyInfo info) { return(KeywordAnalysis.GetPropertyKeyword(info)); }
/// <summary> /// 获取修饰符关键字 /// </summary> /// <param name="type"></param> /// <returns></returns> public static ClassKeyword GetKeyword(this Type type) { return(KeywordAnalysis.GetClassKeyword(type)); }