Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Explicit


Автор: Real 20.3.2008, 18:51
При перезагрузке, я делаю явное переобразования класса Plosha в тип double.
 
Код

public static explicit operator double (Plosha op)
        {
            return op.a*op.b*op.c;
        }

А что нада внутри метода писать
Код

op.a*op.b*op.c

Или обше не важно.

Автор: Freak_FB 20.3.2008, 20:38
Не понял вопроса. Может перефразируешь?

Автор: Ctrl 20.3.2008, 21:21
Если я правильно понял, челевек хочет узнать как рализовать оператор явного преобразования (explicit casting)
Вот пример:
Код

using NUnit.Framework;
namespace ExplicitCastingTest {
    class Program {
        static void Main(string[] args) {
            double area = (double)new BoxArea(10, 10);
            Assert.AreEqual(100, area);
        }
    }
    public struct BoxArea {
        double widthCore;
        double heightCore;
        public BoxArea(double w, double h) {
            this.widthCore = w;
            this.heightCore = h;
        }
        public double Width {
            get { return widthCore; }
            set { widthCore = value; }
        }
        public double Height {
            get { return heightCore; }
            set { heightCore = value; }
        }
        public double Area {
            get { return Width * Height; }
        }
        public static explicit operator double(BoxArea area){
            return area.Area;
        }
    }
}

Автор: Real 20.3.2008, 21:21
Спасиба...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)