사전이 있습니다. 먼저 그들을 초기화합니다.C#이있는 파일의 사전로드
public Dictionary<string, Bitmap> lookup;
public Dictionary<string, Bitmap> lookup2;
public Dictionary<string, Bitmap> lookup3;
다음 사전은 button_click 이벤트에로드됩니다.
private void button2_Click_1(object sender, EventArgs e)
{
lookup = new Dictionary<string, Bitmap>();
Bitmap l1 = new Bitmap(@"C:\1\1.bmp", true); lookup.Add("1", l1);
// add hundreds more
}
문제는이 코드 내 주요 파일 공간의 거의 절반을 차지한다는 것입니다, 그래서 나는 그것에서 사전을로드하는 별도의 파일을 만드는 방법에 대해 생각했다. 이 같은
using getDictData
및 사용 : 내가 추가
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
namespace getDictData
{
class mydict
{
public static void loadDict()
{
Dictionary<string, Bitmap> lookup = new Dictionary<string, Bitmap>();
Bitmap l1 = new Bitmap(@"C:\1\1.bmp", true); lookup.Add("1", l1);
}
}
}
주요 파일 :
private void button2_Click_1(object sender, EventArgs e)
{
mydict.loadDict();
}
그래서 별도의 클래스를 만들 수 (CS) 파일을 시도
아무 것도 작동하지 않는 것 같습니다. 어떻게 C#으로 다른 파일에서 메서드를로드합니까?
편집 :
private void button8_Click(object sender, EventArgs e)
{
var targer = lookup.ToList(); // error is thrown here
string s = targer[0].Key;
textBox6.Text = "" + s;
}
결과에 상관없이 내가 코드를 변경하는 방법, 항상 null입니다 : 뭔가가 사전에로드 된 경우 확인하려면이 코드를 사용하고 있습니다.
내가 메인 파일에서 사전 초기화를 삭제하면 나는
이'이름'조회 '현재 컨텍스트에 존재하지 않는 "지고있어 :
"소스. 값은 매개 변수 이름 null 일 수 없습니다 "
'아무것도 작동하지 않는 것 같습니다.'무엇이 아닌가요? – Reniuz
올바른 것으로 보입니다. 그것은 컴파일합니까? "파일 공간의 절반"이란 무엇을 의미합니까? 로딩 코드가 그렇게 큰 이유는 무엇입니까? 로드 할 비트 맵이 많으면 디렉토리에서 모든 이미지를로드해야합니다. 또한 : C# 코드는 대개 대문자로 시작하는 네임 스페이스, 클래스 이름 및 메서드 이름을 포함합니다. –
별도의 네임 스페이스를 사용하여 처리하고 있습니까 ??? –