2010-04-05 2 views
1

에 액세스 할 수있는이 나는,이 응용 프로그램에서 .NET에 ... 내가 ASP.NET 응용 프로그램의 몇 가지를 만든 내 첫 번째의 WinForm 응용 프로그램 ...는 모든 형태의

입니다 현재 사용자 이름, 선택한 프로세스 등등과 같은 몇 가지 공통 변수가 있습니다. 이것은 언제든지 응용 프로그램의 모든 양식에서 액세스 할 수있게해야합니다 ... 내가 어떻게 할 수 있을까 ... " 세션 "여기에 ASP.NET ...

추가 정보 코더는 일반적으로 한 양식에서 다른 양식으로 정보를 전달하는 방법 ... 여기에서 첫 번째 양식에서 얻은 정보를 후속 양식으로 전달하고 싶습니다 ... 나는 생성자 오버로딩을 사용하고 매개 변수로서 값을 전달한다. 나는 꽤 있어야한다고 확신한다. 그것을 할 수있는 더 좋은 방법 ... 당신은 이것은 일반적으로 스레드 안전 코드에 사용되는 Singleton 객체

Implementing the Singleton Pattern in C#

을 구현 할 수 있습니다

답변

1

시간에 대한

감사합니다 ... 또한 여러 폼에서 동일한 인스턴스에 액세스 할 수 있으므로 폼에서 폼으로 개체를 전달하지 않고도 동일한 데이터를 사용할 수 있습니다.

+0

대담한 감사의 말 ... 그리고 어떻게 반응할까요? 같은 컴퓨터에서 동일한 응용 프로그램의 두 인스턴스를 실행하면 ... 메모장 두 개를 실행하는 것과 같이 ...이 개체가 둘 다 공통적일까요? 케이스, 이걸 피하기 위해 어쨌든 ... –

+0

아니,이 사건이되지 않을 것입니다, 그것은 프로세스마다 자신의 버전을 만들 것입니다, 그래서 잘되어야합니다. –

+0

고마워 .. 한 번만 더 질문 ... 왜 우리는 정적 클래스와 정적 멤버를 사용할 수 없나요? 이것 역시 공유 할 수 없다고 생각합니다 ... –

1

많은 방법이 있습니다.

  1. 정적 개체 -이 개체는 모든 응용 프로그램에서 공유되므로 모든 양식이나 클래스에서 액세스 할 수 있습니다. 이것은 많은 사람들이 권장하지는 않지만 싱글 톤 클래스가 선호됩니다. 그러나 winform 어플리케이션에서는 이러한 문제를 발견하지 못합니다.
  2. 공용 속성 - 이것은 전역이 아닌 폼 고유입니다. ASP.NET 사용법과 거의 비슷합니다.
  3. 프로젝트 설정 모음 - 응용 프로그램 수명주기 동안 변경되지 않을 수있는 데이터를 저장하는 데 사용할 수 있습니다. 모든 양식에서이 정보에 액세스 할 수 있습니다.
0

이 경우에는 싱글 톤을 사용하고 체크 아웃은 generic singleton 구현을 사용하십시오.

+0

주제는 winform 응용 프로그램입니다. Windows 응용 프로그램에는 세션 객체가 없습니다. –

+0

@Aseem : 지적 해 주셔서 감사합니다. –