读书人

XSL引用DLL里面的函数有关问题

发布时间: 2012-09-04 14:19:30 作者: rapoo

XSL引用DLL里面的函数问题
最近在做一个项目,要在XSL文件里面调用C#写的一个DLL里面的函数
假设XSL文件跟DLL在一个路径下,调用DLL里面的Logic.Usp下的GetName()函数其中Logic是命名空间,Usp是类名

最好能给出一个例子,谢谢您能帮忙。

[解决办法]
1. 封装.net的assembly
定义一个接口,一个实现类。接口是为了导出TLB用的。
给COM公开的方法都要加上[ComVisible(True)]的特性

C# code
using System.IO;using System.Runtime.InteropServices;namespace CSCOMLib{    [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]    [ComVisible(true)]    public interface IDirectory4COM    {        string[] GetAllFiles(string directory);        bool IsExistsDir(string directory);    }    [Guid("9E5E5FB2-219D-4ee7-AB27-E4DBED8E123E"),ClassInterface(ClassInterfaceType.None)]    [ComSourceInterfaces((typeof(IDirectory4COM)))]    [ComVisible(true)]    public class Directory4COM : IDirectory4COM    {        [ComVisible(true)]        public string[] GetAllFiles(string directory)        {            return Directory.GetFiles(directory);        }        [ComVisible(true)]        public bool IsExistsDir(string directory)        {            return Directory.Exists(directory);        }    }} 

读书人网 >C#

热点推荐