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