You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-dev@logging.apache.org by ni...@apache.org on 2004/10/01 23:02:16 UTC
cvs commit: logging-log4net/src/Util/TypeConverters ConverterRegistry.cs
nicko 2004/10/01 14:02:16
Modified: src/Config PluginAttribute.cs
src/Core CompactRepositorySelector.cs
DefaultRepositorySelector.cs
src/Repository/Hierarchy XmlHierarchyConfigurator.cs
src/Util OptionConverter.cs PatternParser.cs
src/Util/TypeConverters ConverterRegistry.cs
Log:
Replaced all type.GetConstructor().Invoke() with EmptryTypes with Activator.CreateInstance
Revision Changes Path
1.4 +1 -1 logging-log4net/src/Config/PluginAttribute.cs
Index: PluginAttribute.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Config/PluginAttribute.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- PluginAttribute.cs 21 May 2004 22:15:32 -0000 1.3
+++ PluginAttribute.cs 1 Oct 2004 21:02:16 -0000 1.4
@@ -91,7 +91,7 @@
}
// Create an instance of the plugin using the default constructor
- IPlugin plugin = (IPlugin) pluginType.GetConstructor(SystemInfo.EmptyTypes).Invoke(BindingFlags.Public | BindingFlags.Instance, null, new object[0], CultureInfo.InvariantCulture);
+ IPlugin plugin = (IPlugin)Activator.CreateInstance(pluginType);
return plugin;
}
1.6 +1 -1 logging-log4net/src/Core/CompactRepositorySelector.cs
Index: CompactRepositorySelector.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Core/CompactRepositorySelector.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- CompactRepositorySelector.cs 9 Jun 2004 08:03:41 -0000 1.5
+++ CompactRepositorySelector.cs 1 Oct 2004 21:02:16 -0000 1.6
@@ -195,7 +195,7 @@
LogLog.Debug("DefaultRepositorySelector: Creating repository ["+repository+"] using type ["+repositoryType+"]");
// Call the no arg constructor for the repositoryType
- rep = (ILoggerRepository)repositoryType.GetConstructor(SystemInfo.EmptyTypes).Invoke(null);
+ rep = (ILoggerRepository)Activator.CreateInstance(repositoryType);
// Set the name of the repository
rep.Name = repository;
1.8 +1 -1 logging-log4net/src/Core/DefaultRepositorySelector.cs
Index: DefaultRepositorySelector.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Core/DefaultRepositorySelector.cs,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- DefaultRepositorySelector.cs 9 Jun 2004 08:03:41 -0000 1.7
+++ DefaultRepositorySelector.cs 1 Oct 2004 21:02:16 -0000 1.8
@@ -365,7 +365,7 @@
LogLog.Debug("DefaultRepositorySelector: Creating repository [" + repository + "] using type [" + repositoryType + "]");
// Call the no arg constructor for the repositoryType
- rep = (ILoggerRepository) repositoryType.GetConstructor(SystemInfo.EmptyTypes).Invoke(BindingFlags.Public | BindingFlags.Instance, null, new object[0], CultureInfo.InvariantCulture);
+ rep = (ILoggerRepository)Activator.CreateInstance(repositoryType);
// Set the name of the repository
rep.Name = repository;
1.11 +8 -8 logging-log4net/src/Repository/Hierarchy/XmlHierarchyConfigurator.cs
Index: XmlHierarchyConfigurator.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Repository/Hierarchy/XmlHierarchyConfigurator.cs,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- XmlHierarchyConfigurator.cs 10 Sep 2004 18:54:14 -0000 1.10
+++ XmlHierarchyConfigurator.cs 1 Oct 2004 21:02:16 -0000 1.11
@@ -260,7 +260,7 @@
LogLog.Debug("XmlConfigurator: Loading Appender [" + appenderName + "] type: [" + typeName + "]");
try
{
- IAppender appender = (IAppender)SystemInfo.GetTypeFromString(typeName, true, true).GetConstructor(SystemInfo.EmptyTypes).Invoke(BindingFlags.Public | BindingFlags.Instance, null, new object[0], CultureInfo.InvariantCulture);
+ IAppender appender = (IAppender)Activator.CreateInstance(SystemInfo.GetTypeFromString(typeName, true, true));
appender.Name = appenderName;
foreach (XmlNode currentNode in appenderElement.ChildNodes)
@@ -793,15 +793,15 @@
}
// Look for the default constructor
- ConstructorInfo constInfo = objectType.GetConstructor(SystemInfo.EmptyTypes);
- if (constInfo == null)
+ object createdObject = null;
+ try
{
- LogLog.Error("XmlConfigurator: Failed to find default constructor for type [" + objectType.FullName + "]");
- return null;
+ createdObject = Activator.CreateInstance(objectType);
+ }
+ catch(Exception createInstanceEx)
+ {
+ LogLog.Error("XmlConfigurator: Failed to construct object of type [" + objectType.FullName + "] Exception: "+createInstanceEx.ToString());
}
-
- // Call the constructor
- object createdObject = constInfo.Invoke(BindingFlags.Public | BindingFlags.Instance, null, new object[0], CultureInfo.InvariantCulture);
// Set any params on object
foreach (XmlNode currentNode in element.ChildNodes)
1.8 +1 -1 logging-log4net/src/Util/OptionConverter.cs
Index: OptionConverter.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/OptionConverter.cs,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- OptionConverter.cs 10 Sep 2004 18:54:14 -0000 1.7
+++ OptionConverter.cs 1 Oct 2004 21:02:16 -0000 1.8
@@ -448,7 +448,7 @@
LogLog.Error("OptionConverter: A [" + className + "] object is not assignable to a [" + superClass.FullName + "] variable.");
return defaultValue;
}
- return classObj.GetConstructor(SystemInfo.EmptyTypes).Invoke(BindingFlags.Public | BindingFlags.Instance, null, new object[0], CultureInfo.InvariantCulture);
+ return Activator.CreateInstance(classObj);
}
catch (Exception e)
{
1.4 +17 -17 logging-log4net/src/Util/PatternParser.cs
Index: PatternParser.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/PatternParser.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- PatternParser.cs 23 Feb 2004 03:18:04 -0000 1.3
+++ PatternParser.cs 1 Oct 2004 21:02:16 -0000 1.4
@@ -295,27 +295,27 @@
else
{
// Create the pattern converter
- ConstructorInfo constructor = converterType.GetConstructor(SystemInfo.EmptyTypes);
- if (constructor == null)
- {
- LogLog.Error("PatternParser: Converter Type ["+converterType.FullName+"] does not have a default constructor.");
+ PatternConverter pc = null;
+ try
+ {
+ pc = (PatternConverter)Activator.CreateInstance(converterType);
}
- else
+ catch(Exception createInstanceEx)
{
- PatternConverter pc = (PatternConverter)constructor.Invoke(BindingFlags.Public | BindingFlags.Instance, null, new object[0], CultureInfo.InvariantCulture);
-
- // formattingInfo variable is an instance variable, occasionally reset
- // and used over and over again
- pc.FormattingInfo = formattingInfo;
- pc.Option = option;
-
- if (pc is IOptionHandler)
- {
- ((IOptionHandler)pc).ActivateOptions();
- }
+ LogLog.Error("PatternParser: Failed to create instance of Type ["+converterType.FullName+"] using default constructor. Exception: "+createInstanceEx.ToString());
+ }
+
+ // formattingInfo variable is an instance variable, occasionally reset
+ // and used over and over again
+ pc.FormattingInfo = formattingInfo;
+ pc.Option = option;
- AddConverter(pc);
+ if (pc is IOptionHandler)
+ {
+ ((IOptionHandler)pc).ActivateOptions();
}
+
+ AddConverter(pc);
}
}
1.6 +1 -5 logging-log4net/src/Util/TypeConverters/ConverterRegistry.cs
Index: ConverterRegistry.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/TypeConverters/ConverterRegistry.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ConverterRegistry.cs 19 Aug 2004 21:19:52 -0000 1.5
+++ ConverterRegistry.cs 1 Oct 2004 21:02:16 -0000 1.6
@@ -201,11 +201,7 @@
if (typeof(IConvertFrom).IsAssignableFrom(converterType) || typeof(IConvertTo).IsAssignableFrom(converterType))
{
// Create the type converter
- ConstructorInfo ci = converterType.GetConstructor(log4net.Util.SystemInfo.EmptyTypes);
- if (ci != null)
- {
- return ci.Invoke(BindingFlags.Public | BindingFlags.Instance, null, new object[0], CultureInfo.InvariantCulture);
- }
+ return Activator.CreateInstance(converterType);
}
}
return null;