DLL을 자원 파일에 넣고 반사를 이용하여 일반 함수를 호출합니다!
3993 단어 dll
public static string ListToJson<T>(T List)
{
System.Reflection.Assembly ass = System.Reflection.Assembly.Load(SCB.FDS.Client.AutoUpdate.Resource.Newtonsoft_Json);
Type type = ass.GetType("Newtonsoft.Json.JsonConvert");
MethodInfo method = GetMethodToString(type, "SerializeObject", 1);
return method.Invoke(null, new object[] { List }).ToString();
}
public static T JsonToList<T>(string List)
{
System.Reflection.Assembly ass = System.Reflection.Assembly.Load(SCB.FDS.Client.AutoUpdate.Resource.Newtonsoft_Json);
Type type = ass.GetType("Newtonsoft.Json.JsonConvert");
MethodInfo method = GetMethodToT(type, "DeserializeObject", 1).MakeGenericMethod(typeof(T));
T t = (T)method.Invoke(null, new object[] { List });
return t;
}
private static MethodInfo GetMethodToT(Type type, string methodName, int paramCount)
{
return type.GetMethods().FirstOrDefault(m => { return m.ReturnType != typeof(string) && m.ReturnType != typeof(object) && m.Name == methodName && m.GetParameters().Count() == paramCount; });
}
private static MethodInfo GetMethodToString(Type type, string methodName, int paramCount)
{
return type.GetMethods().FirstOrDefault(m => { return m.ReturnType == typeof(string) && m.Name == methodName && m.GetParameters().Count() == paramCount; });
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LoadLibrary에서 126 오류가 발생하면 원인이되는 파일 이름을 찾는 방법Loadlibrary에서 DLL을 동적으로 로드할 때 로드 실패입니다. 실패한 파일 이름은 알려주지 않습니다. 로드하고자 하는 DLL 자체를 로드할 수 없다면 이야기는 간단하지만, 대상 DLL이 다른 DLL을 로드하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.