저는 Windows Forms를 사용하여 Minecraft 실행기를 코딩했습니다. 내가 탐지기를 찾지 못하면 실행기를 다운로드하도록 만들었습니다. EXE의 변수는 _exe
(get-set을 사용했습니다)이라고합니다. 다른 양식을 실행기 비동기로 다운로드했습니다 (진행 표시 줄의 경우 미학에 대해 이야기합니다!). Main()
이있는 에서 Boot()
이라는 메서드를 사용하여 모든 설정을로드하고 누락 된 파일 (Minecraft.exe, Launch.bat (환경 변수 %APPDATA%
을 설정합니다. 어떻게 환경 변수를 설정하고 Minecraft를 시작하는지에 대한 아이디어) DownloadLauncher 양식이 초기화되면 설정에서 이미 원본을 사용하도록 설정되어 있지만 실행 프로그램이있는 폴더로 다운로드한다는 메시지가 표시됩니다 (기본 옵션). %APPDATA%
폴더. 나는이 여러 번 선언 된 객체의 경우입니다 알고 있지만 나는 그런 큰 규모이기 때문에 그것을 해결하는 방법을 모른다.
Program.cs, DownloadLauncher.cs
문제가 변수입니다 라인이 '설정'당신의 변수에 이제 .minecraft\Minecraft.exe
하지만다른 클래스에 같은 객체가 있습니까?
답변
public static class VariableStore
{
public static string MinecraftPath
{
get;
set;
}
}
(%APPDATA%)\.minecraft\Minecraft.exe
을 있어야되지 않으며, 당신은 전화 것 :
VariableStore.MinecraftPath = "%appdata%\\roaming\\.minecraft";
을 당신은 그것을 같은 방식으로 액세스 :
을System.Diagnostics.Debug.Print(VariableStore.MinecraftPath);
매우 조잡한 해결책이라는 것을 명심하십시오. 또한, 프로젝트를 진행할 계획이라면 (정말 좋은 학습 프로젝트처럼 들릴 것입니다.), WinForms에 대해 조금 더 알아보고 더 나아 가기 전에 어떻게 작동하는지에 대한 조언을드립니다. 이미 여러 가지 디자인 결함이 있습니다. 포기하지 말고 행운을 비네! :)
어떤 종류의 디자인 결함입니까? o-o – Ilan321
예를 들어 공개 및 비공개 변수에 대한 명명 체계가 있습니다. 밑줄을 사용하면 공용 변수가 아닌 개인용으로 거의 항상 사용됩니다. 또한 공용 변수 대신 속성을 시작하고 사용하십시오. 뿐만 아니라 유연성을 추가 할뿐만 아니라 좋은 디자인 선택입니다. – Eisenhorn
아, 그런데'Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData)'를 호출하여 사용자의 appdata 디렉토리를 쉽게 검색 할 수 있습니다 :) – Eisenhorn
- 1. 동일한 속성과 메소드를 가진 객체가 같은 클래스에 속해 있습니까?
- 2. 클래스에 다른 객체가 포함되어 있거나 다른 클래스를 서브 클래스해야합니까? 있습니까?
- 3. 다른 IQueryable 객체가 결합되어 있습니까?
- 4. 제스처 인식기가 다른 클래스에 있습니까?
- 5. 다른 클래스에 객체를 전달하면 새로운 별도의 객체가 생성됩니까?
- 6. 인터페이스가 클래스에 의해 구현되는 경우 객체가 생성됩니까?
- 7. 저장 및 표시 할 다른 객체가 있습니까?
- 8. 파이썬에서 슈퍼 객체가 어떤 클래스에 래핑하는지 어떻게 알 수 있습니까?
- 9. 같은 클래스에 여러 onActivityResult {}이 있습니까?
- 10. 같은 클래스에 속한 다른 객체의 객체 속성에 접근하는 중
- 11. INotifyPropertyChanged : 다른 클래스에 알림
- 12. 나는이 같은 객체가 jQuery를/jHashtable
- 13. 나는 다음과 같은 객체가 블록
- 14. 객체가 삭제되어 같은 코어 데이터
- 15. 동일한 GooglePlus 클라이언트 객체가 다른 액티비티에 있습니다.
- 16. 하나의 클래스가 intellij의 다른 클래스에 있습니까?
- 17. URL이이 같은 객체가 C#을
- 18. 다른 클래스에 클래스 삽입
- 19. JavaScript에 윈도우 객체와 같은 일부 전역 객체가 PHP에 있습니까?
- 20. 나는 다음과 같은 특성을 가진 객체가 내보기 모델에서 다른 특성
- 21. Objective-C/Cocoa에서 여러 객체가 같은 객체를 유지할 수 있습니까?
- 22. SpriteKit - 객체가 다른
- 23. 테스트 클래스에 속성이 있습니까?
- 24. 다른 클래스에 대해 같은 이름의 확장 메서드를 사용할 수 없습니까?
- 25. 다른 클래스에 INotifyPropertyChanged 구현
- 26. 다른 Dagger2 구성 요소의 같은 클래스에 주입하는 방법은 무엇입니까?
- 27. 하나의 메서드에서 데이터를 생성하고 다른 메서드로 같은 클래스에 전달하는 방법
- 28. 다른 클래스에 JTextField 전달
- 29. 다른 클래스에 액세스하십시오
- 30. 다른 클래스에 익숙해지기 변수들
덧붙여서, 이것은 WinForms를 사용한 적이 처음입니다 :) – Ilan321
나는 그것을 승인하지 않겠지 만, 당신은 항상 가서 그 변수를 정적 클래스의 public 속성으로 저장할 수 있습니다. 그런 다음 '공유'할 수 있습니다. 이미 완벽하게 훌륭한 것이 있다면, 당신이 미니 크래프트 런처를 프로그래밍하는 이유는 무엇입니까? – Eisenhorn
저는 개조 등을 설치하도록 계획하고 있습니다. 공공 재산의 예를 제시 할 수 있습니까? – Ilan321