コード例 #1
0
ファイル: Units.cs プロジェクト: Zhengzi/Dynamo
        public override SIUnit Add(SIUnit x)
        {
            if(x is Area)
                return new Area(_value + x.Value);

            throw new UnitsException(GetType(), x.GetType());
        }
コード例 #2
0
ファイル: Units.cs プロジェクト: Zhengzi/Dynamo
        public override SIUnit Multiply(SIUnit x)
        {
            if (x is Length)
            {
                return new Area(_value * x.Value);
            }

            throw new UnitsException(GetType(), x.GetType());
        }
コード例 #3
0
ファイル: Units.cs プロジェクト: Zhengzi/Dynamo
        public override SIUnit Subtract(SIUnit x)
        {
            if(x is Length)
                return new Length(_value - x.Value);

            throw new UnitsException(GetType(), x.GetType());
        }
コード例 #4
0
ファイル: Units.cs プロジェクト: Zhengzi/Dynamo
        public override dynamic Divide(SIUnit x)
        {
            if (x is Length)
            {
                return _value/x.Value;
            }

            throw new UnitsException(GetType(), x.GetType());
        }
コード例 #5
0
ファイル: Units.cs プロジェクト: Zhengzi/Dynamo
        public override SIUnit Modulo(SIUnit x)
        {
            if(x is Length)
                return new Length(_value % x.Value);

            throw new UnitsException(GetType(), x.GetType());
        }
コード例 #6
0
ファイル: Units.cs プロジェクト: Zhengzi/Dynamo
        public override SIUnit Multiply(SIUnit x)
        {
            if (x is Length)
            {
                //return a volume
                return new Volume(_value * x.Value);
            }

            throw new UnitsException(GetType(), x.GetType());
        }
コード例 #7
0
ファイル: Units.cs プロジェクト: Zhengzi/Dynamo
 public override SIUnit Multiply(SIUnit x)
 {
     throw new UnitsException(GetType(), x.GetType());
 }
コード例 #8
0
ファイル: Units.cs プロジェクト: Zhengzi/Dynamo
        public override SIUnit Modulo(SIUnit x)
        {
            if (x is Volume)
            {
                return new Volume(_value % x.Value);
            }

            throw new UnitsException(GetType(), x.GetType());
        }
コード例 #9
0
ファイル: Units.cs プロジェクト: Zhengzi/Dynamo
        public override dynamic Divide(SIUnit x)
        {
            if (x is Length)
            {
                return new Area(_value/x.Value);
            }
            else if (x is Area)
            {
                return new Length(_value/x.Value);
            }

            throw new UnitsException(GetType(), x.GetType());
        }
コード例 #10
0
ファイル: Units.cs プロジェクト: Zhengzi/Dynamo
        public override dynamic Divide(SIUnit x)
        {
            if (x is Area)
            {
                //return a double
                return _value/x.Value;
            }

            if (x is Length)
            {
                //return length
                return new Length(_value/x.Value);
            }

            throw new UnitsException(GetType(), x.GetType());
        }