// (c) 2006 Richard Grimes // www.grimes.demon.co.uk using System; using System.Reflection; [assembly: AssemblyKeyFile("key.snk")] public class ProtectedData { const string defaultData = "privileged access data"; string data; public string Data { get { // Read access during your office hours ProtectedDataPermission perm = new ProtectedDataPermission(8, 18); perm.Demand(); return data; } set { // Write access during your manager's office hours ProtectedDataPermission perm = new ProtectedDataPermission(10, 17); perm.Demand(); data = value; } } public ProtectedData() { data = defaultData; } public override string ToString() { return "ProtectedData " + Data; } }