当我们知道某个实体,以及这个实体中某个属性的名称,我们就可以通过反射来得到这个属性的值。代码如下:
/// <summary>
/// 获取对象中的属性值
/// </summary>
/// <param name="FieldName">属性名</param>
/// <param name="obj">对象</param>
/// <returns></returns>
public string GetModelValue(object obj, string FieldName)
{
try
{
Type Ts = obj.GetType();
object o = Ts.GetProperty(FieldName).GetValue(obj, null);
string Value = Convert.ToString(o);
if (string.IsNullOrEmpty(Value))
{
return null;
}
return Value;
}
catch
{
return null;
}
}
我们还可以通过反射得到某个嵌入的资源文件,只需要传入一个资源的名称即可:
private Bitmap GetResourseByName(string resourceName)
{
System.Resources.ResourceManager rm = new ResourceManager("MyTest.Properties.Resources", Assembly.GetExecutingAssembly());
Bitmap bmp=(Bitmap)rm.GetObject(resourceName);
if (bmp != null)
{
return bmp;
}
else
{
return Properties.Resources.remove;
}
}
有一点需要注意的就是第三行代码一定要传入完整的命令空间,要不然可能得不到值。