Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Aspose PDF如何查找许可证对象_C#_Aspose - Fatal编程技术网

C# Aspose PDF如何查找许可证对象

C# Aspose PDF如何查找许可证对象,c#,aspose,C#,Aspose,这个问题是一般性的,与Aspose产品无关,但它将帮助我更好地解释这个问题 Aspose有两个独立的类: namespace Aspose.Cells { public class License { public License(); public void SetLicense(string licenseName); public void SetLicense(Stream stream); } } 及 根据as

这个问题是一般性的,与Aspose产品无关,但它将帮助我更好地解释这个问题

Aspose有两个独立的类:

namespace Aspose.Cells
{
    public class License
    {
        public License();

        public void SetLicense(string licenseName);
        public void SetLicense(Stream stream);
    }
}

根据aspose的文档,我需要在每个应用程序中使用以下行设置一个许可证密钥:

然后,我可以使用下面的工作簿类,而无需再次设置许可证

 Workbook workbook = new Workbook(stream, new LoadOptions(loadFormat));
 Console.WriteLine(workbook.IsLicensed);

一切都很完美,但我想了解工作簿对象访问许可证对象时,谁没有将许可证对象作为工作簿的引用传递?诀窍是什么?看起来工作簿对象可以直接访问许可证对象

许可证是一个库级属性,库的所有成员都可以访问它进行验证。当库在应用程序中加载一次并初始化许可证时,则无需再次初始化许可证。无论是使用多线程还是实现任何其他体系结构,一次许可证初始化就足够了,库的所有成员(如工作簿)和其他人都可以访问它

有关使用Aspose.Cells进行许可的更多详细信息,请访问以下链接


注意:我在Aspose担任支持开发者/传播者。

你知道静态是什么意思吗?@Omtechguy-根据定义,静态对象没有引用。它们是全局的。@Omtechguy-或者类似的东西,可能是锁定了一些物理内存,或者做了其他事情来创建全局数据。可能是第三个类,但您可以在非静态类上拥有静态属性。谁知道呢。这个问题在这里并不是真正的主题,因为它涉及到另一个库的内部实现。但这不是一个答案,它只是一种可能性。这就是为什么这个问题是离题的。什么是库级属性?我在这里看到两个不同的类。。。你能分享这样两个类之间链接的例子吗?多亏了@DavidG和Erik Funkenbusch,我明白了库级属性是一个静态属性,现在答案很清楚了。谢谢大家!!
Aspose.Cells.License licence = new License();
licence .SetLicense("License file.txt");
 Workbook workbook = new Workbook(stream, new LoadOptions(loadFormat));
 Console.WriteLine(workbook.IsLicensed);