C #에서 첫 번째 Visual Studio 확장 ( VSPackage
)을 만들고 있습니다. 두 가지 클래스가 있습니다.
class MyPackage : Package
{
...
}
class SomeOtherClass
{
...
}
의 개체는 SomeOtherClass
패키지가로드 된 후 인스턴스화되며 MyPackage
인스턴스에 대한 참조를 가져와야합니다. MyPackage
의 생성자에서 매개 변수로 전달하는 것 외에 객체에 대한 참조를 얻는 방법 이 SomeOtherClass
있습니까?
귀하의 질문이 옳다는 것을 이해하면 다음과 같이 할 수 있습니다.
class MyPackage : Package
{
private static MyPackage _instance;
public static MyPackage Instance
{
get
{
if(_instance != null)
_instance = new MyPackage();
return _instance;
}
}
}
class SomeOtherClass
{
void Whatever()
{
// use MyPackage.Instance
}
}
그러나 이것은 애플리케이션의 수명 내내 MyPackage 인스턴스가 하나 필요한 경우에만 신뢰할 수 있습니다. 그렇지 않으면 MyPackage의 새 인스턴스를 SomeOtherClass에 전달합니다.
편집 : 지역 변수 _instance도 정적이어야합니다. 나는 그것을 놓쳤다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다