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