需求:需要做甘特图的显示,并且在甘特中加载图片。图片太多,写判断代码太多。用反射吧。

核心代码:

try
{
if (stateColour < 0) return null;
System.Reflection.Assembly dll = System.Reflection.Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory + "WeGanttGmTask.dll");
string _stateName = GetEnumStrByNum(stateColour);
_stateName = taskName + _stateName; //图片的名称
ResourceManager resourceManager = new ResourceManager(dll.GetName().Name + ".Properties.Resources",dll );
object obj = resourceManager.GetObject(_stateName);
if (obj == null) return new Bitmap(22, 16);
Image img = ((System.Drawing.Bitmap)(obj));
return img;
}
catch(Exception e)
{
throw e;
}

  以上的代码,就能获取到资源文件。