Severity Code Description Project File Line Suppression State
Error CS0120 An object reference is required for the non-static field, method, or property 'HitachiInkJetPrinting.SendMessage(string, FunctionValues, ref FunctionValues, ref string, string, string)' DSI.Connector.InkJetPrinter C:\Users\ribeirov\Downloads\DSI.Connector.InkJetPrinter\DSI.Connector.InkJetPrinter\DSI.Connector.InkJetPrinter\InkJetPrinter.cs 85 Active
the changes impacted this class with the above error

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Reflection;
using System.Xml;
using System.IO;
using DSI.Connector;
using HIES.IJP.RX;

namespace DSI.Connector
{
 public class InkJetPrinter : ConnectorBase
 {
 #region -- Declarations --
 #endregion
 
 
 #region -- Public Override Functions --
 /// Attempts to call the given function with the values supplied
 /// 
 /// Collection of function call header values, such as language, user id, etc.
 /// The structured definition of the function to call.
 /// The values to submit to the function
 /// Returns the output values of the function call.
 /// If an error message is returned from the function call, this variable will be populated with that error message.
 /// The success of the function call.
 public override FunctionResult CallFunction(Dictionary header, FunctionDef functionDef,
 FunctionValues input, out FunctionValues output, out string errorMessage)
 {
 // Set the initial return values
 FunctionResult result = FunctionResult.Good;
 errorMessage = string.Empty;
 string sResult = string.Empty;
 output = null;
 string environment = string.Empty;
 string sInstance = string.Empty;
 string sTrackingID = string.Empty;

 Init();

 try
 {
 Log.LogMsg(Log.Log\_Level.DEBUG, "CallFunction Header Information");
 foreach (KeyValuePair pair in header)
 {
 Log.LogMsg(Log.Log\_Level.DEBUG, pair.Key + " = [" + pair.Value + "]");
 }

 LogInput(input);

 if (header.ContainsKey("Environment"))
 {
 environment = header["Environment"];
 }

 if (header.ContainsKey("Instance"))
 {
 sInstance = header["Instance"];
 }

 if (header.ContainsKey("TrackingID"))
 {
 sTrackingID = header["TrackingID"];
 }

 IniFile.GetInformation(Log.StartPath + "\\" + "DSI.Connector.InkJetPrinter.ini", environment);

 // Build the FunctionValues output from the Function Definition
 output = functionDef.BuildValuesObject(FunctionParmDirection.Out, false);

 string currentLocation = Assembly.GetExecutingAssembly().Location;
 currentLocation = currentLocation.Substring(0, currentLocation.LastIndexOf(@"\"));

 bool bRet = true;
 Log.LogMsg(Log.Log\_Level.DEBUG, "Function Call=[" + functionDef.Name + "]");

 switch (functionDef.Name.ToLower())
 {
 case "sendmessage":
 {
 if (HitachiInkJetPrinting.SendMessage(environment, input, ref output, ref errorMessage, sInstance, sTrackingID))
 {
 result = FunctionResult.Good;
 }
 else
 {
 result = FunctionResult.Bad;
 }
 }
 Log.LogMsg(Log.Log\_Level.DEBUG, "output[Status]=" + output["Status"]);
 Log.LogMsg(Log.Log\_Level.DEBUG, "output[Data\_Out]=" + output["Data\_Out"]);
 break;

 case "getmessage":
 {
 if (HitachiInkJetPrinting.GetMessage(environment, input, ref output, ref errorMessage, sInstance, sTrackingID))
 {
 result = FunctionResult.Good;
 }
 else
 {
 result = FunctionResult.Bad;
 }
 }
 Log.LogMsg(Log.Log\_Level.DEBUG, "output[Status]=" + output["Status"]);
 Log.LogMsg(Log.Log\_Level.DEBUG, "output[Message\_Count]=" + output["Message\_Count"]);
 Log.LogMsg(Log.Log\_Level.DEBUG, "output[Data\_Out]=" + output["Data\_Out"]);
 break;
 default:
 errorMessage = string.Format("Not a supported function call: {0}", functionDef.Name);
 output["Status"] = "";
 output["Data\_Out"] = "";

 result = FunctionResult.Bad;
 break;
 }
 }
 catch (Exception ex)
 {
 // Set new return value
 result = FunctionResult.SystemError;
 // Set our error message
 errorMessage = string.Format("Error: {0}, StackTrace: {1}", ex.Message, ex.ToString());
 }
 finally
 {
 // handle any clean up needed
 }
 Log.LogMsg(Log.Log\_Level.DEBUG, "errorMessage=" + errorMessage);

 return result;
 }

 /// The readable name of this connector that should be displayed to the user.
 /// 
 public override string DisplayName
 {
 get
 {
 return "Hitachi Ink Jet Printer Custom Connector";
 }
 }

 /// Returns a list of Functions to register in the dcLINK system
 /// 
 /// Returns a list of FunctionDef object
 public override List GetFunctionsToRegister()
 {
 List funcDefinitions = new List();

 // Load up xml file
 XmlDocument xmlDoc = new XmlDocument();

 // Get the current location in order to find the xml file containing the functions
 string currentLocation = Assembly.GetExecutingAssembly().Location;
 currentLocation = currentLocation.Substring(0, currentLocation.LastIndexOf(@"\"));
 string path = Path.Combine(currentLocation, "InkJetPrinter\_Functions.xml");

 // Load the XML document
 xmlDoc.Load(path);

 // Select our Function Nodes
 XmlNodeList functions = xmlDoc.SelectNodes("Functions/Function[@id]");

 // For each function, add a FunctionDef to our list.
 foreach (XmlNode functionNode in functions)
 {
 funcDefinitions.Add(new FunctionDef(functionNode));
 }

 ////FunctionDef newFunction = new FunctionDef();
 ////FunctionParmTableDef tableParm = new FunctionParmTableDef();

 ////tableParm.Direction = FunctionParmDirection.Out;
 ////tableParm.Fields.Add(new FunctionParmSimpleDef() { 
 //// Name ="FieldName",
 //// Type="String"
 ////});

 return funcDefinitions;
 }

 #endregion
 #region -- Private Functions --

 void LogInput(FunctionValues input)
 {
 Log.LogMsg(Log.Log\_Level.DEBUG, "CallFunction Input Information");
 for (int ii = 0; ii < input.Values.Count; ii++)
 {
 if (input.Values[ii].Name.Equals("Password", StringComparison.CurrentCultureIgnoreCase) ||
 input.Values[ii].Name.Equals("ConsumerSecret", StringComparison.CurrentCultureIgnoreCase) ||
 input.Values[ii].Name.Equals("AccessKey", StringComparison.CurrentCultureIgnoreCase) ||
 input.Values[ii].Name.Equals("AccessSecret", StringComparison.CurrentCultureIgnoreCase) ||
 input.Values[ii].Name.Equals("Token", StringComparison.CurrentCultureIgnoreCase))
 {
 Log.LogMsg(Log.Log\_Level.DEBUG, input.Values[ii].Name + " = [" + "\*\*\*\*\*\*\*\*" + "]");
 }
 else
 {
 Log.LogMsg(Log.Log\_Level.DEBUG, input.Values[ii].Name + " = [" + input.Values[ii].Value + "]");
 }
 }
 }

 void Init()
 {
 string iniFile = Log.StartPath + "\\" + "DSI.Connector.InkJetPrinter.ini";

 if (!IniFile.IniFileExist(iniFile))
 {
 String sErrorMsg;
 sErrorMsg = "Error: " + iniFile + " is missing.";
 //Exception e = new Exception(sErrorMsg);
 //throw e;
 Log.LogMsg(Log.Log\_Level.ERROR, sErrorMsg);
 }

 if (!IniFile.GetIniSettings(iniFile))
 {
 // Error in .ini file
 String sErrorMsg;
 sErrorMsg = "Error: Required entries missing in " + iniFile + " file.";
 //Exception e = new Exception(sErrorMsg);
 //throw e;
 Log.LogMsg(Log.Log\_Level.ERROR, sErrorMsg);
 }

 }

 #endregion
 }
}
에버리티 코드 설명 프로젝트 파일 줄 바꿈 상태오류 CS0120 정적 필드가 아닌 필드, 메서드 또는 속성 'HitachiInkJetPrinting.SendMessage(문자열, FunctionValues, 참조 FunctionValues, 참조 문자열, 문자열, 문자열)'에 대한 개체 참조가 필요합니다. DSI.Connector.InkJetPrinter C:\Users\ribeirov\Downloads\DSI.Connector.InkJetPrinter\DSI.Connector.InkJetPrinter\DSI.Connector.InkJetPrinter\InkJetPrinter.cs 85 Active변경 사항이 위의 오류와 함께이 클래스에 영향을 미쳤습니다.using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Reflection;using System.Xml;using System.IO;using DSI.Connector;using HIES.IJP.RX;네임스페이스 DSI.Connector{ public class InkJetPrinter : ConnectorBase { #지역 -- 선언 -- #endregion   #region -- 공용 오버라이드 함수 -- } } } /// 제공된 값으로 주어진 함수를 호출하려고 시도합니다. ///  /// 언어, 사용자 아이디 등과 같은 함수 호출 헤더 값의 모음입니다. /// 호출할 함수의 구조화된 정의입니다. /// 함수에 전달할 값 /// 함수 호출의 출력값을 반환합니다. /// 함수 호출에서 오류 메시지가 반환되면 이 변수는 해당 오류 메시지로 채워집니다. /// 함수 호출의 성공 여부입니다. public override FunctionResult CallFunction(Dictionary header, FunctionDef functionDef, FunctionValues 입력, 출력 FunctionValues 출력, 출력 문자열 errorMessage) { // 초기 반환값 설정 함수 결과 결과 = FunctionResult.Good; errorMessage = string.Empty; 문자열 sResult = string.Empty; 출력 = null; 문자열 환경 = string.Empty; 문자열 sInstance = string.Empty; 문자열 sTrackingID = string.Empty; Init(); try { Log.LogMsg(Log.Log\_Level.DEBUG, "CallFunction 헤더 정보"); foreach (헤더의 키값쌍 쌍) { Log.LogMsg(Log.Log\_Level.DEBUG, pair.Key + " = [" + pair.Value + "]"); } LogInput(입력); if (header.ContainsKey("Environment")) { environment = header["Environment"]; } if (header.ContainsKey("인스턴스")) { sInstance = header["인스턴스"]; } if (header.ContainsKey("TrackingID")) { sTrackingID = header["TrackingID"]; } IniFile.GetInformation(Log.StartPath + "\\" + "DSI.Connector.InkJetPrinter.ini", environment); // 함수 정의에서 FunctionValues 출력을 빌드합니다. 출력 = functionDef.BuildValuesObject(FunctionParmDirection.Out, false); 문자열 currentLocation = Assembly.GetExecutingAssembly().Location; currentLocation = currentLocation.Substring(0, currentLocation.LastIndexOf(@"\")); bool bRet = true; Log.LogMsg(Log.Log\_Level.DEBUG, "Function Call=[" + functionDef.Name + "]"); switch (functionDef.Name.ToLower()) { case "sendmessage": { if (HitachiInkJetPrinting.SendMessage(환경, 입력, 참조 출력, 참조 오류메시지, sInstance, sTrackingID)) { result = FunctionResult.Good; } else { result = FunctionResult.Bad; } } Log.LogMsg(Log.Log\_Level.DEBUG, "output[Status]=" + output["Status"]); Log.LogMsg(Log.Log\_Level.DEBUG, "output[Data\_Out]=" + output["Data\_Out"]); break; case "getmessage": { if (HitachiInkJetPrinting.GetMessage(환경, 입력, 참조 출력, 참조 오류메시지, sInstance, sTrackingID)) { result = FunctionResult.Good; } else { result = FunctionResult.Bad; } } Log.LogMsg(Log.Log\_Level.DEBUG, "output[Status]=" + output["Status"]); Log.LogMsg(Log.Log\_Level.DEBUG, "output[Message\_Count]=" + output["Message\_Count"]); Log.LogMsg(Log.Log\_Level.DEBUG, "output[Data\_Out]=" + output["Data\_Out"]); break; default: errorMessage = string.Format("지원되지 않는 함수 호출: {0}", functionDef.Name); output["Status"] = ""; output["Data\_Out"] = ""; result = FunctionResult.Bad; break; } } catch (예외 ex) { // 새 반환값 설정 결과 = FunctionResult.SystemError; // 오류 메시지 설정 errorMessage = string.Format("Error: {0}, StackTrace: {1}", ex.Message, ex.ToString()); } 마지막으로 { // 필요한 정리 처리 } Log.LogMsg(Log.Log\_Level.DEBUG, "errorMessage=" + errorMessage); 결과를 반환합니다; } /// 사용자에게 표시되어야 하는 이 커넥터의 읽을 수 있는 이름입니다. ///  공용 오버라이드 문자열 DisplayName { get { 반환 "히타치 잉크젯 프린터 커스텀 커넥터"; } } /// dcLINK 시스템에 등록할 함수 목록을 반환합니다. ///  /// FunctionDef 객체 리스트를 반환합니다. 공용 오버라이드 리스트 GetFunctionsToRegister() { List funcDefinitions = new List(); // XML 파일 불러오기 XmlDocument xmlDoc = new XmlDocument(); // 함수가 포함된 xml 파일을 찾기 위해 현재 위치를 가져옵니다. 문자열 currentLocation = Assembly.GetExecutingAssembly().Location; currentLocation = currentLocation.Substring(0, currentLocation.LastIndexOf(@"\")); 문자열 경로 = Path.결합(현재 위치, "잉크젯프린터\_기능.xml"); // XML 문서 로드 xmlDoc.Load(경로); // 함수 노드 선택 XmlNodeList 함수