C# 플러그인 구현(하나)xml 설정 읽기
이 문서에서 설명하는 플러그인 방식의 기본 절차는 다음과 같습니다.
1. 플러그인 구성
2. 구성에서 플러그인 읽기
3. 약속한 인터페이스에 따라 플러그인 불러오기
설정 플러그인은 주로 c#에서 동적 라이브러리는 일반적으로 dll을 접미사로 사용하지만 다른 플러그인이 아닌 동적 라이브러리는 불러올 때 시간이 걸릴 수 있기 때문에 설정 방식을 사용합니다.여기서 구성 파일은 다음과 같습니다.
MainPage.dll .png1
trueSysManager.dll .png1
trueYPGL.dll .png1
trueMZSF.dll .png1
trueTJCX.dll .png1
trueJCZL.dll .png1
trueYGXXGL.dll .png1
true
플러그인 구성의 키 코드를 읽으려면 다음과 같이 하십시오.
private static void GetPlugins()
{
List stringPaths = new List();
List stringTips = new List();
List stringVisibles = new List();
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
string xmlfile = System.Windows.Forms.Application.StartupPath + "\\cfg\\default.xml";
if (!System.IO.File.Exists(xmlfile))
{
System.Windows.Forms.MessageBox.Show(" , " + System.Windows.Forms.Application.StartupPath + "\\Config\\menu.xml");
System.Environment.Exit(0);
}
xmlDoc.Load(xmlfile);
System.Xml.XmlNodeList nodePlugins = xmlDoc.SelectSingleNode("plugins").ChildNodes;// plugins
foreach (System.Xml.XmlNode plugin in nodePlugins)// plugin
{
System.Xml.XmlElement attributes = (System.Xml.XmlElement)plugin;
foreach (System.Xml.XmlNode attribute in attributes)// plugin
{
if (attribute.Name.ToUpper() == "NAME")
{
stringPaths.Add(System.Windows.Forms.Application.StartupPath + "\\plugins\\" + attribute.InnerText);
}
if (attribute.Name.ToUpper() == "IMGPATH")
{
Image img = System.Drawing.Image.FromFile(System.Windows.Forms.Application.StartupPath + "\\img\\" + attribute.InnerText,true);
Pub.g_ImageList.Images.Add(attribute.InnerText, img);
}
if (attribute.Name.ToUpper() == "TIP")
{
stringTips.Add(attribute.InnerText);
}
if (attribute.Name.ToUpper() == "VISIBLE")
{
stringVisibles.Add(attribute.InnerText);
}
}
}
PluginsInfo.m_PluginPaths = stringPaths.ToArray();
PluginsInfo.m_PluginTips = stringTips.ToArray();
PluginsInfo.m_stringVisibles = stringVisibles.ToArray();
}
여기서 PluginsInfo는 전역 변수로서 코드의 읽기, 보존에 영향을 주지 않습니다.마지막으로 전체 공사 원본을 첨부할 것이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.