示例#1
0
            public Cause Decode(BitArrayInputStream input)
            {
                int num4;
                Cause cause = new Cause();
                cause.InitDefaults();
                input.readBit();
                switch (input.readBits(2))
                {
                    case 0:
                        num4 = (input.readBit() == 0) ? 5 : 5;
                        cause.radioNetwork = (CauseRadioNetwork)input.readBits(num4);
                        return cause;

                    case 1:
                        num4 = 1;
                        cause.transport = (CauseTransport)input.readBits(num4);
                        return cause;

                    case 2:
                        num4 = (input.readBit() == 0) ? 3 : 3;
                        cause.protocol = (CauseProtocol)input.readBits(num4);
                        return cause;

                    case 3:
                        num4 = (input.readBit() == 0) ? 3 : 3;
                        cause.misc = (CauseMisc)input.readBits(num4);
                        return cause;
                }
                throw new Exception(GetType().Name + ":NoChoice had been choose");
            }