public class ExtensionObject
{
bool quiet = true;
+ Dictionary<string, System.Reflection.Assembly> assemblyCache = new Dictionary<string, System.Reflection.Assembly> ();
public string Colorize(string code, string lang)
{
System.Reflection.Assembly assembly = null;
try {
- assembly = System.Reflection.Assembly.LoadWithPartialName(assemblyname);
+ if (!assemblyCache.TryGetValue (assemblyname, out assembly)) {
+ assembly = System.Reflection.Assembly.LoadWithPartialName(assemblyname);
+ if (assembly != null)
+ assemblyCache[assemblyname] = assembly;
+ }
} catch (Exception) {
// nothing.
}
if (assemblyname == string.Empty)
return string.Empty;
- var assembly = System.Reflection.Assembly.LoadWithPartialName(assemblyname);
+ System.Reflection.Assembly assembly;
+ if (!assemblyCache.TryGetValue (assemblyname, out assembly)) {
+ assembly = System.Reflection.Assembly.LoadWithPartialName(assemblyname);
+ if (assembly != null)
+ assemblyCache[assemblyname] = assembly;
+ }
+
if (assembly == null)
return string.Empty;