필자는 많은 기능 (100+ 추정치)을 갖고 있으며 그 이상의 절반은 정의 된 파일에만 필요합니다. 범위가 파일 수준이되도록 함수를 정의하는 방법이 있습니까?C#/.NET의 파일 수준에서 함수 범위?
답변
첫째; C#은 함수가 아니라 메소드를가집니다. -p
메소드의 범위는 유형에 따라 다릅니다. 파일으로 제한하려는 경우이 파일이 여러 파일로 분할 된 부분 클래스 (또는 중첩 된 유형 집합)라고 가정 할 수 있습니까? 그렇지 않다면 (그리고 그것은 하나의 파일입니다) 메소드를 private으로 만듭니다. 현재 부분적일 경우, 아니오 : 동일한 유형의 서로 다른 파일 간의 상호 호출을 피할 방법이 없습니다. 부분 부분마다 중첩 된 정적 유형을 만들 수도 있지만,보기 흉하고 해킹하고 잘못되었습니다.
적극적으로 피해를주지 않는 경우 - 변경하지 않았습니까?
@ 마르크, 다른 가능성은 OOP를 이해하지 못하기 때문에 OP가 _file_에 대해 이야기하고 있다는 것입니다. –
예, 부분 클래스입니다. 나는 그가 두려워하게 될 코드 (그 개인적인 프로젝트와 멋있는 사이트)를 다른 누군가에게 유지시켜 주면 나는 단지 걱정된다고 생각한다. 코드를 읽는 동안이 아니라 변경을 수행하고 올바른 기능을 찾을 때가 아닐 수도 있습니다. –
아니요 하나의 "파일"에 대한 액세스를 제한 할 수있는 방법이 없습니다. 모든 기능을 하나의 클래스에 넣고 보호하려는 항목을 private
으로 만들 수 있습니다. 또는 모든 기능을 다른 어셈블리에 넣고 보호되는 것을 internal
으로 만들 수도 있습니다.
어떻게 든 개인 클래스를 만들 수 있고'this' 포인터가 외부 클래스가 액세스 할 수있는 모든 것을 액세스 할 수 있다면 어떨까요? (아마도 아님) –
내부 클래스는 외부 클래스의 개인 멤버에 액세스 할 수 있습니다. 그것은 또 다른 해결책입니다. 그것은 외부 클래스의 메소드를 private로 만드는 것만 큼 나만큼 달라 보이지 않습니다. –
흠, 내부 클래스가 외부 클래스 * 정적 * 멤버에 액세스 할 수 있음을 알 수 있습니다. 하지만 '이'에 액세스 할 수있는 것처럼 보이지 않습니다. 이 doesnt는 그것이 내가 바라는 방식으로 작동하는 것 같습니다. 다른 기능이 할 수있는 모든 것을 액세스하려면. 함수를 내부 클래스에 복사/붙여 넣으면 많은 컴파일 오류가 발생합니다. 나는 그것이 왜 작동하지 않는지 이해하지만 그것이 효과가 있기를 바랬습니다. –
파일 레벨이 아닌 internal
을 사용하여 범위를 어셈블리로 제한 할 수 있습니다.
- 1. 함수 수준 연결은 파일 수준에서 선언 된 변수를 어떻게 처리합니까?
- 2. AS3 클래스 함수 범위
- 3. PHP 함수 변수 범위
- 4. 자바 스크립트 함수 범위
- 5. 함수 호출, 변수 범위
- 6. jQuery를 익명 함수 변수 범위
- 7. 자바 스크립트 함수 수준 범위
- 8. JavaScript 함수 수준 범위 지정
- 9. 함수 범위 내의 변수 변수
- 10. 함수 범위 정적 변수의 참조를 반환해도 괜찮습니까?
- 11. Ajax 응답 및 익명 함수 범위
- 12. 자바 스크립트 블록 범위 대 함수
- 13. jQuery 아약스 성공 익명 함수 범위
- 14. 함수 범위 밖의 jquery ajax 콜백
- 15. 함수 검사를위한 PHP 범위 문제 isset
- 16. addEventListener의 Javascript 변수 범위 익명 함수
- 17. 함수 범위 외부에서 무비 클립 객체에 액세스
- 18. 파이썬 함수 인수 범위 (사전 V 문자열.)
- 19. 비 숫자 표현식을 평가하는 범위 함수 허용
- 20. 전역 변수 범위 문제
- 21. 파일 업로드시 함수 호출
- 22. 지도 파일 함수 경로
- 23. 높은 수준에서 사용할 데이터베이스 격리 수준을 어떻게 지정합니까?
- 24. 는 클래스 수준에서 OdbcCommand.Connection
- 25. SourceSafe 프로젝트 수준에서 병합
- 26. 보기 수준에서 리소스를로드하는 방법
- 27. 전역 수준에서 인스턴스화 (C++)
- 28. 시스템 수준에서 VIEW 만들기
- 29. 폼 포스트가 파일 범위 변수를 지움
- 30. Sharepoint 사이트 서식 파일 - 기능 범위
이 질문에 더 많은 정보를 추가 할 수 있습니까? 파일 수준에서 기능의 범위를 제한하는 방법이 명확하지 않습니다. 이러한 클래스 또는 부분 클래스 또는 다른 어떤 구조입니까? 제한의 목적은 무엇입니까? 필요없는 '파일'에 함수가있는 이유는 무엇입니까? 언제든지 '범위 내에있는'함수의 수를 줄이기 위해 100 개 이상의 함수를 작은 콜렉션으로 분리하는 코드를 리팩터링하는 것이 더 나을지도 모릅니다. – Lazarus