Removed untyped contructor from ComponentRegistration and add a protected setter.
[castle.git] / Tools / Castle.DynamicProxy2 / Castle.DynamicProxy / PersistentProxyBuilder.cs
blob9582817447cd25a97b9ba80b89263a580a60080f
1 // Copyright 2004-2008 Castle Project - http://www.castleproject.org/
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 namespace Castle.DynamicProxy
17 using System;
19 /// <summary>
20 /// ProxyBuilder that persists the generated type.
21 /// </summary>
22 /// <remarks>
23 /// The saved assembly contains just the last generated type.
24 /// </remarks>
25 public class PersistentProxyBuilder : DefaultProxyBuilder
27 /// <summary>
28 /// Initializes a new instance of the <see cref="PersistentProxyBuilder"/> class.
29 /// </summary>
30 public PersistentProxyBuilder() : base(new ModuleScope(true))
34 /// <summary>
35 /// Saves the generated assembly to a physical file. Note that this renders the <see cref="PersistentProxyBuilder"/> unusable.
36 /// </summary>
37 /// <returns>The path of the generated assembly file, or null if no assembly has been generated.</returns>
38 /// <remarks>This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the
39 /// respective methods of the <see cref="ModuleScope"/>.</remarks>
40 public string SaveAssembly ()
42 return ModuleScope.SaveAssembly();