当前位置: 首页>>代码示例>>C#>>正文


C# ObjectIdentifier.Prepend方法代码示例

本文整理汇总了C#中ObjectIdentifier.Prepend方法的典型用法代码示例。如果您正苦于以下问题:C# ObjectIdentifier.Prepend方法的具体用法?C# ObjectIdentifier.Prepend怎么用?C# ObjectIdentifier.Prepend使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ObjectIdentifier的用法示例。


在下文中一共展示了ObjectIdentifier.Prepend方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ResolveOid

		  private static void ResolveOid(IEntity entity, ObjectIdentifier result)
		  {
				result.Prepend(entity.Name, entity.Value);
				
				// check parent
				if (!String.IsNullOrEmpty(entity.Parent))
				{
					 string[] pathParts = entity.Parent.Split('.');
					 uint value;

					 // all parts except the first should have their value directly or indirectly with them
					 if (pathParts.Length > 1)
					 {
						  for (int i=pathParts.Length-1; i>=1; i--)
						  {
								if (uint.TryParse(pathParts[i], out value))
								{
									 result.Prepend("", value);
								}
								else
								{
									 Match m = _namedOidPathRegex.Match(pathParts[i]);
									 if (m.Success)
									 {
										  result.Prepend(m.Groups["Name"].Value, uint.Parse(m.Groups["Value"].Value));
									 }
									 else
									 {
										  throw new MibException("Invalid OID path detected for entity '" + entity.Name + "' in module '" + entity.Module + "'!");
									 }
								}
						  }
					 }

					 // parse root part: either another entity or a standard root object
					 if (IsOidRoot(pathParts[0], out value))
					 {
						  result.Prepend(pathParts[0], value);
					 }
					 else
					 {
						  // try to find entity inside this module
						  if (entity.Module != null)
						  {
								entity = ResolveDeclaration(entity.Module, pathParts[0]) as IEntity;

								if (entity != null)
								{
									 ResolveOid(entity, result);
								}
								else
								{
									 result.Prepend("", uint.MaxValue);
								}
						  }
						  else
						  {
								result.Prepend("", uint.MaxValue);
						  }
					 }
				}
		  }
开发者ID:plocklsh,项目名称:lwip,代码行数:62,代码来源:MibTypesResolver.cs


注:本文中的ObjectIdentifier.Prepend方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。