C# 在导入dll的类外部调用导入dll中的方法
我试图从另一个类调用一个方法,它位于我导入的dll中。有办法吗?提前谢谢你! 我想澄清一下:有一个类叫做“TTSManager”。在这个类中导入了一个dll。还有一个类“TTSdotNET”,在这个类中,我想调用dll中的一个方法,但该方法不可访问。我希望有人能帮助我。 P.S.I代码为C# “TTSManager”: 使用UnityEngine; 使用系统集合; 使用制度; 使用System.Runtime.InteropServicesC# 在导入dll的类外部调用导入dll中的方法,c#,dll,C#,Dll,我试图从另一个类调用一个方法,它位于我导入的dll中。有办法吗?提前谢谢你! 我想澄清一下:有一个类叫做“TTSManager”。在这个类中导入了一个dll。还有一个类“TTSdotNET”,在这个类中,我想调用dll中的一个方法,但该方法不可访问。我希望有人能帮助我。 P.S.I代码为C# “TTSManager”: 使用UnityEngine; 使用系统集合; 使用制度; 使用System.Runtime.InteropServices public class TTSManager : M
public class TTSManager : MonoBehaviour
{
[DllImport ("SpeakerLib")]
private static extern void SpeakToSpeaker(string tts);
[DllImport ("SpeakerLib")]
private static extern void SpeakToFile(string tts, string fileName, string fileFormat); [DllImport ("SpeakerLib")]
private static extern void ReleaseSpeaker();
private static TTSManager instance = null;
private TTSManager(){}
public static TTSManager getInstance
{
get
{
if(instance == null)
{
instance = new TTSManager();
}
return instance;
}
}
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
}
}
“TTSdotNET”:
我倾向于为DLL导入创建一个单独的静态类。除了导入函数外,我还为每个DLL函数调用创建包装器方法 例如:
internal static class NativeCalls
{
[DllImport ...]
private static extern int SomeFunctionCall(...);
public static int SomeFunction(...)
{
return SomeFunctionCall(...);
}
}
这样,任何类都可以访问DLL,您的问题就解决了。希望您在调用类方法的页面上引用了DLL?发布一些代码以获得更清晰的信息,以澄清您自己的问题,您可能希望显示一些您已经编写的代码来演示您的问题。您必须在第一个类中创建一个方法来包装对导入的dll的调用,并从第二个类中调用该方法,如果您希望帮助发布代码。否则我们无法帮助你,因为这个问题无法给出答案。。。是
TTSdotNET
向DLL询问信息,还是向TTSManager
询问DLL碰巧拥有的信息?
internal static class NativeCalls
{
[DllImport ...]
private static extern int SomeFunctionCall(...);
public static int SomeFunction(...)
{
return SomeFunctionCall(...);
}
}