public void CreateIntersect() { // <Snippet1> // Create two WebPermission instances. WebPermission myWebPermission1 = new WebPermission(); WebPermission myWebPermission2 = new WebPermission(); // <Snippet2> // Allow access to the first set of resources. myWebPermission1.AddPermission(NetworkAccess.Connect, "http://www.contoso.com/default.htm"); myWebPermission1.AddPermission(NetworkAccess.Connect, "http://www.adventure-works.com/default.htm"); // Check whether if the callers higher in the call stack have been granted // access permissions. myWebPermission1.Demand(); // </Snippet2> // Allow access right to the second set of resources. myWebPermission2.AddPermission(NetworkAccess.Connect, "http://www.alpineskihouse.com/default.htm"); myWebPermission2.AddPermission(NetworkAccess.Connect, "http://www.baldwinmuseumofscience.com/default.htm"); myWebPermission2.Demand(); // </Snippet1> // Display the attributes , values and childrens of the XML encoded instances. Console.WriteLine("Attributes and values of first 'WebPermission' instance are :"); PrintKeysAndValues(myWebPermission1.ToXml().Attributes, myWebPermission2.ToXml().Children); Console.WriteLine("\nAttributes and values of second 'WebPermission' instance are : "); PrintKeysAndValues(myWebPermission2.ToXml().Attributes, myWebPermission2.ToXml().Children); // <Snippet3> // Create a third WebPermission instance via the logical intersection of the previous // two WebPermission instances. WebPermission myWebPermission3 = (WebPermission)myWebPermission1.Intersect(myWebPermission2); Console.WriteLine("\nAttributes and Values of the WebPermission instance after the Intersect are:\n"); Console.WriteLine(myWebPermission3.ToXml().ToString()); // </Snippet3> }