again, question on create nim variant based on .NET class. `IWorkbook.cs` of NPOI says namespace NPOI.SS.UserModel { public interface IWorkbook : ICloseable { int ActiveSheetIndex { get; } int FirstVisibleTab { get; set; } ... } } Run
[this post](https://stackoverflow.com/questions/66725558/how-to-use-npoi-library-to-select-data-in-c-sharp) uses it like IWorkbook workbook; FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); if (fileName.IndexOf(".xlsx") > 0) workbook = new XSSFWorkbook(fs); else if (fileName.IndexOf(".xls") > 0) workbook = new HSSFWorkbook(fs); //First sheet Run so I tried to translated it as following, but failed to declare variant `workbook` which should be of `IWorkbook` in C# var NPOI = clr.load("NPOI.dll") NPOIOOXML = clr.load("NPOI.OOXML.dll") var File = mscor.GetType("System.IO.File") HSSFWorkbook = NPOI.GetType("NPOI.HSSF.UserModel.HSSFWorkbook") XSSFWorkbook = NPOIOOXML.GetType("NPOI.XSSF.UserModel.XSSFWorkbook") IWorkbook = NPOI.GetType("NPOI.SS.UserModel.IWorkbook") var fs = @File.OpenRead(fileName); #~ var workbook: IWorkbook # does not work #~ var workbook: IWorkbook.GetType() # does not work #~ var workbook: IWorkbook.GetType # does not work if fileName.toLower().endsWith(".xlsx") : workbook = @XSSFWorkbook.new(fs); elif fileName.toLower().endsWith(".xls"): workbook = @HSSFWorkbook.new(fs); Run Any fix? Thanks. Btw, `var workbook = @WorkbookFactory.Create(fileName)` can be used no matter fileName is `XLS` or `XLSX`. But the question `create nim variant based on .NET class` maybe occur in other case.