내부 구조체/클래스가있는 클래스가 있습니다. (필자는이 클래스를 사용하는 것이 중요하다면 결정했습니다.) 다른 클래스에서 내부 클래스에 액세스하려고합니다. 클래스가 있지만 외부 클래스에 의해서만 구성됩니다. 이것이 가능합니까?C#의 내부 구조체/클래스에 대한 액세스
감사
내부 구조체/클래스가있는 클래스가 있습니다. (필자는이 클래스를 사용하는 것이 중요하다면 결정했습니다.) 다른 클래스에서 내부 클래스에 액세스하려고합니다. 클래스가 있지만 외부 클래스에 의해서만 구성됩니다. 이것이 가능합니까?C#의 내부 구조체/클래스에 대한 액세스
감사
당신이 얻을 수있는 가장 가까운 불행하게도, internal
생성자입니다. 외부 클래스의 private
및 protected
멤버를 내부 클래스에서 사용할 수 있지만 그 반대는 사실이 아닙니다.
내부 인터페이스 (또는 내부 추상 클래스)를 인스턴스화 할 수 없도록 선언하지 않는 이유는 무엇입니까? 그렇다면 인터페이스를 구현하는 개인 내부 클래스는 무엇입니까? 다른 클래스는 MakeInner
방법을 호출해야합니다 동안
뭔가 이런 식으로
using System;
namespace test {
class Outer {
public interface IInner {
void SayHello();
}
private class Inner : IInner {
public void SayHello() {
Console.WriteLine("Hello");
}
}
public IInner MakeInner() {
return new Inner();
}
}
class Program {
static void Main(string[] args) {
Outer x = new Outer();
x.MakeInner().SayHello();
}
}
}
처럼 만
Outer
은, 콘크리트
Inner
개체를 만들 수 있습니다.
+1 조금만 더했지만 어쨌든 좋은 해결책입니다. – Thorarin
이것은 영리한 해결책입니다. 감사합니다. –
내부가 작동하는 것처럼 보입니다. 외부 클래스에만 액세스 권한을 부여하고 싶지만 충분합니다. 감사합니다. –