C# :이 작동은 어떻게 작동합니까 : Unit MyUnit = 5;
-
03-07-2019 - |
문제
방금 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를 차지하는 클래스의 캐스트 연산자를 제공해야합니다.
제휴하지 않습니다 StackOverflow