本文整理汇总了C#中ICpu.PopStructureEncapsulated方法的典型用法代码示例。如果您正苦于以下问题:C# ICpu.PopStructureEncapsulated方法的具体用法?C# ICpu.PopStructureEncapsulated怎么用?C# ICpu.PopStructureEncapsulated使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICpu
的用法示例。
在下文中一共展示了ICpu.PopStructureEncapsulated方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
public override void Execute(ICpu cpu)
{
Structure value = cpu.PopStructureEncapsulated(); // new value to set it to
string suffixName = cpu.PopStack().ToString().ToUpper(); // name of suffix being set
Structure popValue = cpu.PopStructureEncapsulated(); // object to which the suffix is attached.
// We aren't converting the popValue to a Scalar, Boolean, or String structure here because
// the referenced variable wouldn't be updated. The primitives themselves are treated as value
// types instead of reference types. This is also why I removed the string unboxing
// from the ISuffixed check below.
var specialValue = popValue as ISuffixed;
if (specialValue == null)
{
throw new Exception(string.Format("Values of type {0} cannot have suffixes", popValue.GetType()));
}
// TODO: When we refactor to make every structure use the new suffix style, this conversion
// to primative can be removed. Right now there are too many structures that override the
// SetSuffix method while relying on unboxing the object rahter than using Convert
if (!specialValue.SetSuffix(suffixName, Structure.ToPrimitive(value)))
{
throw new Exception(string.Format("Suffix {0} not found on object", suffixName));
}
}