문자열에 대해 F #에서 (/) 연산자를 오버로드하고 숫자의 의미를 유지하려고합니다. 내가 얻을 다음을 시도 할 경우F #의 오버로드 연산자 : (/)
/// Combines to path strings
let (/) path1 path2 = Path.Combine(path1,path2)
let x = 3/4 // doesn't compile
"연산자 오버로드를 제공 할 수 없습니다 (29 개) 확장 회원 경고. 대신 유형 정의의 일부로 연산자를 정의하는 것이 좋습니다."
/// Combines to path strings
type System.String with
static member (/) (path1,path2) = Path.Combine(path1,path2)
아이디어가 있으십니까?
감사합니다, forki
당신이 op_Division로 정의하는 시도? 업데이트 : 신경 쓰지 마세요; 작동하지 않을 것입니다. – pblasucci
기존 클래스에 멤버 (또는 연산자)를 오버로드 할 수 있다고 생각하지 않습니다. – Gabe