Implement MachineKey.Protect and MachineKey.Unprotect
[mono.git] / mcs / class / System.ComponentModel.Composition / src / ComponentModel / System / ComponentModel / Composition / PartLifetimeContextOfT.cs
1 // -----------------------------------------------------------------------\r
2 // Copyright (c) Microsoft Corporation.  All rights reserved.\r
3 // -----------------------------------------------------------------------\r
4 using System;\r
5 \r
6 #if SILVERLIGHT\r
7 \r
8 namespace System.ComponentModel.Composition\r
9 {\r
10     public sealed class PartLifetimeContext<T> : IDisposable\r
11     {\r
12         private readonly T _exportedValue;\r
13         private readonly Action _dispose;\r
14 \r
15         public PartLifetimeContext(T exportedValue, Action dispose)\r
16         {\r
17             this._exportedValue = exportedValue;\r
18             this._dispose = dispose;\r
19         }\r
20 \r
21         public T ExportedValue \r
22         {\r
23             get { return this._exportedValue; }\r
24         }\r
25 \r
26         public void Dispose()\r
27         {\r
28             this._dispose();\r
29         }\r
30     }\r
31 }\r
32 \r
33 #endif