일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- sql
- conda
- ngui
- 쉘
- dataframe
- with
- postgresql
- c++11
- if
- SSH
- Unity
- mysql
- List
- C++
- Shader
- boost
- autovacuum
- awk
- FIND
- expect
- Eclipse
- 배열
- DROP
- ubuntu
- SVN
- sqlite
- null
- pandas
- pi
- python
- Today
- Total
その先にあるもの…
CreateInstance, InvokeMember 본문
csv로 테이블을 만들어 사용하고 있다.
테이블이 추가 되었고 변경된 테이블도 생겨
테이블 작업을 하다가 수정한 과정을 적어본다.
public class Sound
{
int ID;
string Name;
}
public class SoundTable : Parser
{
Dictionary<int, Sound> map;
}
public class Fx
{
int ID;
string Name;
}
public class FxTable : Parser
{
Dictionary<int, Fx > map;
}
위를 클래스를 매니저에서 변수로 등록하여 사용했다.
public class TableMng
{
private SoundTable m_Sound;
private FxTable m_Fx;
}
보통 Sound,Fx는 수정되지 않는 상수값이기에 C++에서 const등으로 보호한다.
위의 테이블은 데이터 보호가 되지 않기 때문에 const등으로 보호 접근을 막아보지만
C#에서는 const가 생성자에서 값을 설정하지 못하기 때문에 readonly로
생성자에 데이터를 넘겨 값을 세팅하여 데이터 변경을 막았다.
public class SoundTable : Parser
{
Dictionary<int, Sound> map;
}
public class FxTable : Parser
{
Dictionary<int, Fx> map;
}
public class TableMng
{
private SoundTable m_Sound;
public SoundTable SOUND{ get{ return m_Sound;} }
private FxTable m_Fx;
public FxTable FX{ get{ return m_Fx; } }
public void Parse()
{
m_Sound = new SoundTable();
m_Sound.Parse( inputData );
m_Fx= new FxTable ();
m_Fx.Parse( inputData );
}
}
public class TableMng
{
Table< Sound > m_Sound;
Table< Fx > m_Fx;
Table< Item > m_Item;
public void Parse()
{
m_Sound = new Table<Sound>();
m_Sound.Parse( inputData );
m_Fx= new Table<Fx>();
m_Fx.Parse( inputData );
}
}
C++처럼 사용하다가 문제가 발생했다.
'프로그래밍 > C#' 카테고리의 다른 글
Dictionary value 변경 (0) | 2014.09.01 |
---|---|
WeakReference (0) | 2014.06.03 |
unsafe (0) | 2014.03.28 |
C#> struct -> string (0) | 2013.10.31 |
C# delegate (0) | 2013.09.10 |