Automatischer Action-Name ApiAddin
Da ich derzeit viel mit der EPLAN-API machen darf, hab ich mir mal Gedanken gemacht wie man das ewige Action deklarieren automatisieren kann.
Die Deklaration funktioniert ein bisschen anders als im Scripting und somit kann man auch auf die Methoden- / bzw. Klassennamen zugreifen.
Mit dieser Lösung wird immer der Klassenname als Action-Name verwendet, was für mich immer zutreffend ist.
In diesem Beispiel wäre der Action-Name MyAction:
using Eplan.EplApi.ApplicationFramework; using System; using System.Reflection; namespace Suplanus.EplAddin.Examples { class MyAction : IEplAction { public bool OnRegister(ref string Name, ref int Ordinal) { Name = MethodBase.GetCurrentMethod().DeclaringType.Name; // Get name from class Ordinal = 20; return true; } public bool Execute(ActionCallingContext oActionCallingContext) { throw new NotImplementedException(); } public void GetActionProperties(ref ActionProperties actionProperties) { throw new NotImplementedException(); } } }