문제

방금 C#에서이 작업을 수행 할 수 있음을 알았습니다.

Unit myUnit = 5;

이 작업을 수행하는 대신 :

Unit myUnit = new Unit(5);

내 자신의 구조로 이것을 어떻게 달성 할 수 있는지 아는 사람이 있습니까? 나는 반사기가있는 유닛 구조물을 살펴보고 TypeConverter 속성이 사용되는 것을 발견했지만 구조물에 대한 사용자 정의 타입 변호기를 만든 후에도 컴파일러 가이 편리한 구문을 허용 할 수 없었습니다.

도움이 되었습니까?

해결책

int에서 Unit까지 암시 적 변환 연산자를 제공해야합니다.

    public struct Unit
    {   // the conversion operator...
        public static implicit operator Unit(int value)
        {
            return new Unit(value);
        }
        // the boring stuff...
        private readonly int value;
        public int Value { get { return value; } }
        public Unit(int value) { this.value = value; }
    }

다른 팁

INT32를 차지하는 클래스의 캐스트 연산자를 제공해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top