그래서 나는 다음과 우연히암시 적 변환이
> Data that i want
> Namespace.ExcelDataField
> Data that i want
는 어디 ExcelDataField 분명히 나는 내가 쓴 클래스 나 데이터를 읽을 수 있도록합니다 엑셀 시트에서. 나는 이것을 MoveFirst/Next로 VBA DAO 접근과 비슷하게 구현하려고 시도했으며 항상 1 행의 데이터 (currentRow)를 노출했다.
엑셀 시트에서 dynmic 데이터가 나오면 엑셀 시트에서 나오는 데이터를 캡슐화하기 위해 ExcelDataField 클래스를 사용했습니다. 나는에 엑셀 시트를 읽기 위해 사용하고 바로 읽고있다 클래스가이 클래스 ExcelDataField : ExcelDataField<string>
의 과부하를 만들어에
public class ExcelDataField<T>
{
private Excel.Range m_XlRange;
private int m_Row;
private int m_Col;
public T Data
{
get
{
return (T)(this.m_XlRange.Cells[this.m_Row, this.m_Col] as Excel.Range)?.Value2;
}
set
{
this.m_XlRange.Cells[this.m_Row, this.m_Col] = value;
}
}
public ExcelDataField(Excel.Range range, int row, int col)
{
this.m_XlRange = range;
this.m_Row = row;
this.m_Col = col;
}
public static implicit operator T(ExcelDataField<T> dataField)
{
return dataField.Data;
}
}
현재 나는 모든 데이터를 나중에 쉽게 문자열로 처리 할 수 있습니다 테스트 목적으로 asuming하고 다시 콘솔로.
분명히 내 암시 적 변환을 찾지 못하는 보간 된 문자열을 사용하지 않는 한 모든 것이 잘 작동합니다. ExcelDataField : ExcelDataField<string
>을 ExcelDataField : ExcelDataField<String>
으로 변경하려고 시도했지만 모두 작동하지 않습니다.
내 이해 보간 된 문자열은 문자열 또는 문자열 만 암시 적으로 변환하지 않는 FormattableString 형식을 사용합니다.
제 질문은 누구나 정확하게 여기에서 무슨 일이 벌어지고 있는지 자세히 설명 할 수 있고 보간 된 문자열을 사용할 수있는 깨끗한 방법이 있습니까?