本文整理汇总了C#中System.Security.NamedPermissionSet.FromXml方法的典型用法代码示例。如果您正苦于以下问题:C# NamedPermissionSet.FromXml方法的具体用法?C# NamedPermissionSet.FromXml怎么用?C# NamedPermissionSet.FromXml使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Security.NamedPermissionSet
的用法示例。
在下文中一共展示了NamedPermissionSet.FromXml方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FromXml_NoVersion
public void FromXml_NoVersion ()
{
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 ("Name", se.Attribute ("Name"));
nps.FromXml (w);
}
示例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_NoClass
public void FromXml_NoClass ()
{
NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
SecurityElement se = nps.ToXml ();
SecurityElement w = new SecurityElement (se.Tag);
w.AddAttribute ("version", se.Attribute ("version"));
nps.FromXml (w);
// doesn't even care of the class attribute presence
}
示例4: FromXml_WrongVersion
// [ExpectedException (typeof (ArgumentException))]
public void FromXml_WrongVersion ()
{
NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
SecurityElement se = nps.ToXml ();
// can't modify - so we create our own
SecurityElement se2 = new SecurityElement (se.Tag, se.Text);
se2.AddAttribute ("class", se.Attribute ("class"));
se2.AddAttribute ("version", "2");
se2.AddAttribute ("Name", se.Attribute ("Name"));
nps.FromXml (se2);
// wow - here we accept a version 2 !!!
}
示例5: FromXml_WrongTagCase
public void FromXml_WrongTagCase ()
{
NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
SecurityElement se = nps.ToXml ();
se.Tag = se.Tag.ToUpper (); // instead of PermissionSet
nps.FromXml (se);
}
示例6: FromXml_WrongClass
public void FromXml_WrongClass ()
{
NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
SecurityElement se = nps.ToXml ();
SecurityElement w = new SecurityElement (se.Tag);
w.AddAttribute ("class", "Wrong" + se.Attribute ("class"));
w.AddAttribute ("version", se.Attribute ("version"));
w.AddAttribute ("Name", se.Attribute ("Name"));
nps.FromXml (w);
// doesn't care of the class name at that stage
// anyway the class has already be created so...
}
示例7: FromXml_InvalidPermission
public void FromXml_InvalidPermission ()
{
NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
SecurityElement se = nps.ToXml ();
// can't modify - so we create our own
SecurityElement se2 = new SecurityElement ("InvalidPermissionSet", se.Text);
se2.AddAttribute ("class", se.Attribute ("class"));
se2.AddAttribute ("version", se.Attribute ("version"));
se2.AddAttribute ("Name", se.Attribute ("Name"));
nps.FromXml (se2);
}
示例8: FromXml_Null
public void FromXml_Null ()
{
NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
nps.FromXml (null);
}
示例9: GetPermissionSet
static NamedPermissionSet GetPermissionSet(String[] args, int index)
{
// Create named permission set with "no name" since you have to give it a name.
NamedPermissionSet p = new NamedPermissionSet( "@@no [email protected]@" );
p.FromXml( ReadXmlFile( args, index ) );
return p;
}
示例10: LoadAllPermissionSets
private void LoadAllPermissionSets()
{
if ((this.m_permSetElement != null) && (this.m_permSetElement.InternalChildren != null))
{
lock (InternalSyncObject)
{
while ((this.m_permSetElement != null) && (this.m_permSetElement.InternalChildren.Count != 0))
{
SecurityElement et = (SecurityElement) this.m_permSetElement.Children[this.m_permSetElement.InternalChildren.Count - 1];
this.m_permSetElement.InternalChildren.RemoveAt(this.m_permSetElement.InternalChildren.Count - 1);
if (et.Tag.Equals("PermissionSet") && et.Attribute("class").Equals("System.Security.NamedPermissionSet"))
{
NamedPermissionSet set = new NamedPermissionSet();
set.FromXmlNameOnly(et);
if (set.Name != null)
{
this.m_namedPermissionSets.Add(set);
try
{
set.FromXml(et, false, true);
continue;
}
catch
{
this.m_namedPermissionSets.Remove(set);
continue;
}
}
}
}
this.m_permSetElement = null;
}
}
}
示例11: GetNamedPermissionSetInternal
internal NamedPermissionSet GetNamedPermissionSetInternal(string name)
{
this.CheckLoaded();
lock (InternalSyncObject)
{
foreach (NamedPermissionSet set in this.m_namedPermissionSets)
{
if (set.Name.Equals(name))
{
return set;
}
}
if (this.m_permSetElement != null)
{
SecurityElement et = this.FindElement(this.m_permSetElement, name);
if (et != null)
{
NamedPermissionSet set2 = new NamedPermissionSet {
Name = name
};
this.m_namedPermissionSets.Add(set2);
try
{
set2.FromXml(et, false, true);
}
catch
{
this.m_namedPermissionSets.Remove(set2);
return null;
}
if (set2.Name != null)
{
return set2;
}
this.m_namedPermissionSets.Remove(set2);
}
}
}
return null;
}