码迷,mamicode.com
首页 > 其他好文 > 详细

Attribute 特性

时间:2018-09-14 11:00:36      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:try   ora   except   ase   ret   tab   turn   ext   read   

//数据库表名与类名不一致时,用到的特性
public class TableAttribute : Attribute
{
private string _TableName = null;

public TableAttribute(string tableName)
{
this._TableName = tableName;
}

public string GetTableName()
{
return this._TableName;
}

}

public static class Extend
{
/// <summary>
/// 根据类型获取表名称
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <returns></returns>
public static string GetTableName<T>(this T t) where T : new()
{
Type type = t.GetType();
object[] oAttributeList = type.GetCustomAttributes(true);
foreach (var item in oAttributeList)
{
if (item is TableAttribute)
{
TableAttribute attribute = item as TableAttribute;
return attribute.GetTableName();
}
}

return type.Name;
}
}

static void Main(string[] args)
{
try
{
Console.WriteLine("欢迎来到.net高级班vip课程,今天的内容是特性和AOP");
People people = new People();

UserModel user = new UserModel();
user.Id = 1;

string name = user.GetTableName<UserModel>();

string remark = UserState.Normal.GetRemark();

BaseDAL.Save<UserModel>(user);


#region AOP show
Console.WriteLine("***********************");
Decorator.Show();
Console.WriteLine("***********************");
Proxy.Show();
Console.WriteLine("***********************");
CastleProxy.Show();
Console.WriteLine("***********************");
UnityAOP.Show();
#endregion
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.Read();
}

 

Attribute 特性

标签:try   ora   except   ase   ret   tab   turn   ext   read   

原文地址:https://www.cnblogs.com/Torey/p/7140785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!