나는 내 자신의 수학 라이브러리를 가지고 있고 그것을 "수학"(나는 "수학"이라고 부름)이라고 부르고 싶다. 자체 네임 스페이스에 있지만 "수학"이라는 클래스 이름은 여전히 System.Math와 충돌합니다. 내가이 문제를 해결하기 위해 한 일은 단지 명시 적으로 System.Math 함수를 호출 내 라이브러리에 System.Math에 모든 것을 래퍼를 추가 한 후, 나는 수학을 사용하는 모든 파일에시스템을 포장하고 있습니다.
using Math = Yushatak.Libraries.Math;
을 추가해야합니다. * 기능. 이것이 최선의 방법이라고 생각하지 않습니다. 랩핑이 추가 오버 헤드를 야기 할 수 있다는 것도 두려워합니다. 오버 헤드가 필요한 부분이 아닙니다.
조언? System.Math를 "확장"하는 더 좋은 방법이 있습니까? 이것은 나쁜 아이디어일까요? 나는 "수학"으로 돌아 가야합니까? 전혀 제안? : P 래핑 방법
예 :
public static decimal Abs(decimal value)
{
return System.Math.Abs(value);
}
아마도 코드 검토 SE에 더 잘 어울릴 수 있습니까? 코드를 보지 않고 오버 헤드에 대해 의견을 말하기 어렵다. 대부분 정적 인 방법이라면 아마 괜찮을 것입니다. 위의'using' 문에도 아무런 문제가 없습니다. 네임 스페이스 충돌을 해결하는 것이 구문이 존재하는 이유입니다. – Yuck
이 질문은 부분 의견을 토대로하고 부분 코드 검토이기 때문에 논제가 아닌 것으로 보입니다. – CodeCaster
'Math/Maths' 클래스가 무엇을하는지에 따라'System.Math' 클래스를 확장하는 것이 가장 좋습니다. – Nunners