Вопрос носит общий характер и не относится конкретно к продукту Aspose, но он поможет мне лучше объяснить вопрос.
Aspose имеет два отдельных класса:
namespace Aspose.Cells
{
public class License
{
public License();
public void SetLicense(string licenseName);
public void SetLicense(Stream stream);
}
}
и
public class Workbook : IDisposable
{
public Workbook();
public Workbook(FileFormatType fileFormatType);
public Workbook(string file);
public Workbook(Stream stream);
public Workbook(string file, LoadOptions loadOptions);
public Workbook(Stream stream, LoadOptions loadOptions);
public WorksheetCollection Worksheets { get; }
public bool IsLicensed { get; }
}
В соответствии с документацией по Aspose, мне нужно установить лицензионный ключ, используя следующие строки один раз для приложения :
Aspose.Cells.License licence = new License();
licence .SetLicense("License file.txt");
И затем я могуиспользуйте следующий класс книги без необходимости заново устанавливать лицензию.
Workbook workbook = new Workbook(stream, new LoadOptions(loadFormat));
Console.WriteLine(workbook.IsLicensed);
Все работает отлично, но я хотел бы понять, кто из объектов книги обращается к объекту лицензии, не передавая объект лицензии в качестве ссылки нарабочая тетрадь?В чем подвох?Похоже, что объект книги может напрямую обращаться к объекту лицензии ...