클래스 A의 인스턴스를 보유하고있는 다른 클래스 (클래스 "B"), 즉 에서 사용해야하는 메서드가있는 클래스 "A"가 있습니다. 클래스 "B"는 내가 그 메서드를 사용하고자하는 유일한 클래스이기 때문에 나는 같은 어셈블리에 두 클래스를 가지고 있기 때문에 클래스 "A"의 메소드는 내부 일 수 있습니다. 어떻게 할 수 있습니까?다른 클래스의 클래스의 개인 메서드를 사용하는 방법이 필요합니다.
0
A
답변
0
ClassB: ClassA
(파생 클래스) 인 경우 해당 메서드를 protected
으로 선언 할 수 있으므로 파생 클래스에만 액세스 할 수 있습니다.
Exmaple는 :
public class ClassA
{
protected void FooA() { Console.WriteLine("A"); }
internal void FooB() { Console.WriteLine("B"); }
}
public class ClassB : ClassA
{
public void Foo() { FooA(); }
}
public class ClassC
{
public void Foo()
{
ClassA classA = new ClassA();
classA.FooA(); // Error, because you don't see it
classA.FooB(); // OK
}
}
0
당신은 항상 내부로 클래스 A의 메소드를 표시하고 어셈블리 정보 파일이 (가) InternallyVisibleTo 플래그를 설정할 수 있습니다?
관련 문제
- 1. 다른 클래스의 메서드를 사용하는 Python
- 2. 다른 클래스의 메서드를 그립니다.
- 3. 다른 클래스의 메서드를 사용하려면 어떻게해야합니까?
- 4. 다른 클래스의 메서드를 호출하려면 어떻게해야합니까?
- 5. 캐스팅하여 다른 클래스의 메서드를 호출합니까?
- 6. C# 클래스의 각 인스턴스마다 다른 메서드가 필요합니다.
- 7. 일반 클래스의 메서드로 다른 클래스의 메서드를 설정하는 방법
- 8. 정수를 클래스의 인스턴스에 전달하고이를 사용하여 다른 클래스의 메서드를 호출합니까?
- 9. Boost 개인 데이터가있는 클래스의 직렬화
- 10. 개인 중첩 클래스의 친구
- 11. 개인 생성자가있는 클래스의 인스턴스를 사용하는 방법은 무엇입니까?
- 12. C++에서 다른 클래스의 메서드를 호출하는 방법
- 13. 클래스의 개인 생성자 사용
- 14. 개인 클래스의 멤버 액세스
- 15. 개인 클래스의 생성자 정의
- 16. 클래스의 변수를 사용하는 클래스 메서드를 호출하는 자바
- 17. 다른 파일에서 클래스의 메서드를 사용할 수 없습니다.
- 18. Ruby : 클래스의 메서드를 가져 오지 않고 클래스의 메서드를 얻으려면 어떻게해야합니까?
- 19. PHP : 클래스를 인스턴스화하고 다른 클래스의 메서드를 사용합니다.
- 20. 다른 클래스의 메서드를 호출하는 진행 표시 줄
- 21. Android에서 다른 클래스의 메서드를 호출하는 방법은 무엇입니까?
- 22. 다른 클래스의 클래스 메서드를 호출 하시겠습니까?
- 23. 다른 클래스의 메서드를 다시 초기화하지 않고 호출합니다.
- 24. 다른 클래스의 한 클래스에서 메서드를 호출하는 방법
- 25. 다른 클래스의 메서드를 ArrayList의 Object에 사용하십시오.
- 26. 개인 생성자가있는 클래스의 전역 객체
- 27. 클래스의 내부 메서드를 모의하는 방법?
- 28. 수퍼 클래스의 개인 메서드를 하위 클래스에서 재정의 할 수 있습니까?
- 29. PHP 클래스의 보호/개인 중요성
- 30. 클래스의 개인 DataGridView에 문제가 발생했습니다.
ClassB에서 classA를 상속하는 것을 정말로 원하지 않습니다. classA에는 classB에서 필요성이없는 함수가 많으며 논리적으로도 잘못된 것입니다. –
@ talzach : 당신이하려는 일을 논리적으로 부정확하다. 왜 다른 클래스의 ** 단지 ** 사용할 수있는 몇 가지 방법으로 클래스를 투영 하는가? 가상 클래스/메소드 또는 인터페이스를 사용하여 코드를 리 팩터링하십시오. – Marco
어떻게 리팩토링해야합니까? –