| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- using System;
- using System.Collections.Generic;
- using System.Collections;
- namespace Lextm.SharpSnmpLib.Mib
- {
- public class DisplayHint
- {
- private enum NumType {
- dec,
- hex,
- oct,
- bin,
- str
- }
- private string _str;
- private NumType _type;
- private int _decimalPoints = 0;
- public DisplayHint(string str)
- {
- _str = str;
- if (str.StartsWith("d"))
- {
- _type = NumType.dec;
- if (str.StartsWith("d-"))
- {
- _decimalPoints = Convert.ToInt32(str.Substring(2));
- }
- }
- else if (str.StartsWith("o"))
- {
- _type = NumType.oct;
- }
- else if (str.StartsWith("h"))
- {
- _type = NumType.hex;
- }
- else if (str.StartsWith("b"))
- {
- _type = NumType.bin;
- }
- else
- {
- _type = NumType.str;
- foreach (char c in str)
- {
- }
- }
- }
- public override string ToString()
- {
- return _str;
- }
- internal object Decode(int i)
- {
- switch (_type)
- {
- case NumType.dec:
- if (_decimalPoints == 0)
- {
- return i;
- }
- else
- {
- return i / Math.Pow(10.0, _decimalPoints);
- }
- case NumType.hex:
- return System.Convert.ToString(i, 16);
- case NumType.oct:
- return System.Convert.ToString(i, 8);
- case NumType.bin:
- return System.Convert.ToString(i, 2);
- default:
- return null;
- }
- }
- }
- }
|