using System.IO;
using System.Security.Permissions;
+#if NET_2_0
+using System.Collections.Generic;
+#endif
+
namespace Microsoft.CSharp {
[PermissionSet (SecurityAction.LinkDemand, Unrestricted = true)]
[PermissionSet (SecurityAction.InheritanceDemand, Unrestricted = true)]
public class CSharpCodeProvider : CodeDomProvider {
-
+#if NET_2_0
+ Dictionary <string, string> providerOptions;
+#endif
+
//
// Constructors
//
{
}
+#if NET_2_0
+ public CSharpCodeProvider (Dictionary <string, string> providerOptions)
+ {
+ this.providerOptions = providerOptions;
+ }
+#endif
//
// Properties
//
#endif
public override ICodeCompiler CreateCompiler()
{
+#if NET_2_0
+ if (providerOptions != null && providerOptions.Count > 0)
+ return new Mono.CSharp.CSharpCodeCompiler (providerOptions);
+#endif
return new Mono.CSharp.CSharpCodeCompiler();
}
#endif
public override ICodeGenerator CreateGenerator()
{
+#if NET_2_0
+ if (providerOptions != null && providerOptions.Count > 0)
+ return new Mono.CSharp.CSharpCodeGenerator (providerOptions);
+#endif
return new Mono.CSharp.CSharpCodeGenerator();
}
#if NET_2_0
[MonoTODO]
- public void GenerateCodeFromMember (CodeTypeMember member, TextWriter writer, CodeGeneratorOptions options)
+ public override void GenerateCodeFromMember (CodeTypeMember member, TextWriter writer, CodeGeneratorOptions options)
{
throw new NotImplementedException();
}