float 및 double을 처리하기 위해 일반 클래스를 작성하려고합니다. 변수의 유형 (float 또는 double)에 따라 계산을 수행해야하지만 다음 구현이 올바른 방법인지 여부가 확실하지 않습니다. 그것에 대한 몇 가지 제안이 필요합니다.템플릿 유형을 확인하고 해당 계산을 수행하십시오.
// computeFloat is a method of some other class which actually computes and returns a float value
float computeFloat()
{
float a;
....
return a;
}
// setFloat is a method of some other class which actually sets a float value
void setFloat(float val)
{
.....
}
TestClass<T> : IDisposable
{
public void getValue(ref T val)
{
if(val is float)
{
object retVal = computeFloat();
val = (float)retVal;
}
else
{
throw new Exception(" Not implemented");
}
}
public void setValue(T val)
{
if(val is float)
{
object obj = val as object;
float retVal = (float)obj;
setFloat(retVal);
}
else
{
throw new Exception(" Not implemented");
}
}
}
마크 Gravell의 HTTP를 확인 고려해 //www.yoda.arachsys.com/csharp/miscutil/usage/genericoperators.html (http://stackoverflow.com/questions/32664/c에서 링크 -sharp-generic-constraint-only-integer) –
제목을 편집했습니다. "[제목에"태그 "가 포함되어 있어야합니까?] (http://meta.stackexchange.com/questions/19190/)"합의가 "아니오, 그렇지 않아야합니다"로 표시되어야합니다. –