本文整理汇总了C#中System.Security.NamedPermissionSet.Copy方法的典型用法代码示例。如果您正苦于以下问题:C# NamedPermissionSet.Copy方法的具体用法?C# NamedPermissionSet.Copy怎么用?C# NamedPermissionSet.Copy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Security.NamedPermissionSet
的用法示例。
在下文中一共展示了NamedPermissionSet.Copy方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Equals
public void Equals ()
{
NamedPermissionSet psn = new NamedPermissionSet (name, PermissionState.None);
NamedPermissionSet psu = new NamedPermissionSet (name, PermissionState.Unrestricted);
Assert.IsTrue (!psn.Equals (psu), "psn!=psu");
Assert.IsTrue (!psu.Equals (psn), "psu!=psn");
NamedPermissionSet cpsn = (NamedPermissionSet) psn.Copy ();
Assert.IsTrue (cpsn.Equals (psn), "cpsn==psn");
Assert.IsTrue (psn.Equals (cpsn), "psn==cpsn");
NamedPermissionSet cpsu = (NamedPermissionSet) psu.Copy ();
Assert.IsTrue (cpsu.Equals (psu), "cpsu==psu");
Assert.IsTrue (psu.Equals (cpsu), "psu==cpsu");
cpsn.Description = sentinel;
Assert.IsTrue (cpsn.Equals (psn), "cpsn+desc==psn");
Assert.IsTrue (psn.Equals (cpsn), "psn==cpsn+desc");
cpsn.Description = sentinel;
Assert.IsTrue (cpsu.Equals (psu), "cpsu+desc==psu");
Assert.IsTrue (psu.Equals (cpsu), "psu==cpsu+desc");
}
示例2: FromXml_NoName
public void FromXml_NoName ()
{
NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
SecurityElement se = nps.ToXml ();
SecurityElement w = new SecurityElement (se.Tag);
w.AddAttribute ("class", se.Attribute ("class"));
w.AddAttribute ("version", "1");
nps.FromXml (w);
// having a null name can badly influence the rest of the class code
Assert.IsNull (nps.Name, "Name");
NamedPermissionSet copy = (NamedPermissionSet) nps.Copy ();
Assert.IsNull (copy.Name, "Copy.Name");
copy = nps.Copy ("name");
Assert.AreEqual ("name", copy.Name, "Copy(Name).Name");
se = nps.ToXml ();
Assert.IsNull (se.Attribute ("Name"), "Name attribute");
#if NET_2_0
Assert.AreEqual (0, nps.GetHashCode (), "GetHashCode");
Assert.IsTrue (nps.Equals (nps), "Equals-self");
#endif
}
示例3: FromXml
public void FromXml ()
{
NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
SecurityElement se = nps.ToXml ();
Assert.IsNotNull (se, "ToXml()");
NamedPermissionSet nps2 = (NamedPermissionSet) nps.Copy ();
nps2.FromXml (se);
Assert.AreEqual (name, nps2.Name, "FromXml-Copy.Name");
// strangely it's empty when converted from XML (but null when created)
Assert.AreEqual ("", nps2.Description, "FromXml-Copy.Description");
Assert.IsTrue (!nps2.IsUnrestricted () , "FromXml-Copy.IsUnrestricted");
se.AddAttribute ("Description", sentinel);
nps2.FromXml (se);
Assert.AreEqual (name, nps2.Name, "FromXml-Add1.Name");
Assert.AreEqual (sentinel, nps2.Description, "FromXml-Add1.Description");
Assert.IsTrue (!nps2.IsUnrestricted () , "FromXml-Add1.IsUnrestricted");
se.AddAttribute ("Unrestricted", "true");
nps2.FromXml (se);
Assert.AreEqual (name, nps2.Name, "FromXml-Add2.Name");
Assert.AreEqual (sentinel, nps2.Description, "FromXml-Add2.Description");
Assert.IsTrue (nps2.IsUnrestricted () , "FromXml-Add2.IsUnrestricted");
}
示例4: Copy_Name_Null
public void Copy_Name_Null ()
{
NamedPermissionSet nps = new NamedPermissionSet (name);
NamedPermissionSet copy = (NamedPermissionSet)nps.Copy (null);
}
示例5: Copy_Name_Empty
public void Copy_Name_Empty ()
{
NamedPermissionSet nps = new NamedPermissionSet (name);
NamedPermissionSet copy = (NamedPermissionSet)nps.Copy (String.Empty);
}
示例6: GetOrDeserializePermissionSet
private static NamedPermissionSet GetOrDeserializePermissionSet(ref NamedPermissionSet permissionSet,
string permissionSetXml)
{
Contract.Assert(!String.IsNullOrEmpty(permissionSetXml));
#if FEATURE_CAS_POLICY
if (permissionSet == null)
{
SecurityElement securityElement = SecurityElement.FromString(permissionSetXml);
NamedPermissionSet deserializedPermissionSet = new NamedPermissionSet(securityElement);
permissionSet = deserializedPermissionSet;
}
#endif // FEATURE_CAS_POLICY
return permissionSet.Copy() as NamedPermissionSet;
}
示例7: Copy_Name
public void Copy_Name ()
{
NamedPermissionSet nps = new NamedPermissionSet (name);
nps.Description = sentinel;
nps.AddPermission (new SecurityPermission (SecurityPermissionFlag.Assertion));
NamedPermissionSet copy = (NamedPermissionSet)nps.Copy ("Copy");
Assert.AreEqual ("Copy", copy.Name, "Name");
Assert.AreEqual (nps.Description, copy.Description, "Description");
Assert.AreEqual (nps.Count, copy.Count, "Count");
}
示例8: GetOrDeserializeExtendablePermissionSet
//
// Utility methods to construct the permission set objects from the well known XML and any permission
// set extensions if necessary
//
private static NamedPermissionSet GetOrDeserializeExtendablePermissionSet(ref NamedPermissionSet permissionSet,
string permissionSetXml
#if FEATURE_CAS_POLICY
,string extensionXml
#endif // FEATURE_CAS_POLICY
)
{
Contract.Requires(!String.IsNullOrEmpty(permissionSetXml));
#if FEATURE_CAS_POLICY
Contract.Requires(!String.IsNullOrEmpty(extensionXml));
#endif // FEATURE_CAS_POLICY
if (permissionSet == null)
{
#if FEATURE_CAS_POLICY
SecurityElement securityElement = SecurityElement.FromString(permissionSetXml);
NamedPermissionSet deserializedPermissionSet = new NamedPermissionSet(securityElement);
PermissionSet extensions = GetPermissionSetExtensions(extensionXml);
deserializedPermissionSet.InplaceUnion(extensions);
permissionSet = deserializedPermissionSet;
#endif // FEATURE_CAS_POLICY
}
return permissionSet.Copy() as NamedPermissionSet;
}
示例9: AddNamedPermissionSet
public void AddNamedPermissionSet(NamedPermissionSet permSet)
{
if (permSet == null)
{
throw new ArgumentNullException("permSet");
}
this.CheckLoaded();
this.LoadAllPermissionSets();
lock (this)
{
IEnumerator enumerator = this.m_namedPermissionSets.GetEnumerator();
while (enumerator.MoveNext())
{
if (((NamedPermissionSet) enumerator.Current).Name.Equals(permSet.Name))
{
throw new ArgumentException(Environment.GetResourceString("Argument_DuplicateName"));
}
}
NamedPermissionSet set = (NamedPermissionSet) permSet.Copy();
set.IgnoreTypeLoadFailures = true;
this.m_namedPermissionSets.Add(set);
}
}
示例10: Copy
public void Copy ()
{
NamedPermissionSet nps = new NamedPermissionSet (name);
nps.Description = sentinel;
nps.AddPermission (new SecurityPermission (SecurityPermissionFlag.Assertion));
NamedPermissionSet copy = (NamedPermissionSet)nps.Copy ();
AssertEquals ("Name", nps.Name, copy.Name);
AssertEquals ("Description", nps.Description, copy.Description);
AssertEquals ("Count", nps.Count, copy.Count);
}
示例11: GetOrDeserializePermissionSet
private static NamedPermissionSet GetOrDeserializePermissionSet(ref NamedPermissionSet permissionSet,
string permissionSetXml)
{
Debug.Assert(!String.IsNullOrEmpty(permissionSetXml));
return permissionSet.Copy() as NamedPermissionSet;
}
示例12: GetOrDeserializeExtendablePermissionSet
//
// Utility methods to construct the permission set objects from the well known XML and any permission
// set extensions if necessary
//
private static NamedPermissionSet GetOrDeserializeExtendablePermissionSet(
ref NamedPermissionSet permissionSet,
string permissionSetXml)
{
Contract.Requires(!String.IsNullOrEmpty(permissionSetXml));
return permissionSet.Copy() as NamedPermissionSet;
}