-#else
- public override IPermission Intersect (IPermission target)
- {
- StrongNameIdentityPermission snip = (target as StrongNameIdentityPermission);
- if ((snip == null) || IsEmpty ())
- return null;
- if (snip.IsEmpty ())
- return new StrongNameIdentityPermission (PermissionState.None);
- if (!Match (snip.Name))
- return null;
-
- string n = ((Name.Length < snip.Name.Length) ? Name : snip.Name);
- if (!Version.Equals (snip.Version))
- return null;
- if (!PublicKey.Equals (snip.PublicKey))
- return null;
-
- return new StrongNameIdentityPermission (this.PublicKey, n, this.Version);
- }
-
- public override bool IsSubsetOf (IPermission target)
- {
- StrongNameIdentityPermission snip = Cast (target);
- if (snip == null)
- return IsEmpty ();
- if (IsEmpty ())
- return true;
-
- return _single.IsSubsetOf (snip._single);
- }
-#endif