我有以下基类:
public class Base
{
public string LogicalName { get; set; }
public int NumberOfChars { get; set; }
public Base()
{
}
public Base(string logicalName, int numberOfChars)
{
LogicalName = logicalName;
NumberOfChars = numberOfChars;
}
}
Run Code Online (Sandbox Code Playgroud)
以及以下派生类:
public class Derived1 : Base
{
public const string EntityLogicalName = "Name1";
public const int EntityNumberOfChars = 30;
public Derived1() : base(EntityLogicalName, EntityNumberOfChars)
{
}
}
public class Derived2 : Base
{
public const string EntityLogicalName = "Name2";
public const int EntityNumberOfChars …
Run Code Online (Sandbox Code Playgroud) 在crm 2011中,在插件的执行方法中,我如何知道正在执行的注册步骤的id?例如,我有两个步骤来预创建帐户。每一步执行方法将运行两次。我需要在执行方法中知道实际运行的步骤的stepid。我在上下文中找不到它。
更新:
我在这里更新是为了解释这个场景,因为在评论中我没有足够的字符。所以场景是:
我有一个自动编号实体的解决方案,使用户能够按照自己想要的方式格式化数字。
为此,我有一个实体(自动编号),他们在其中配置格式、实体和他们想要编号的字段。每次为自动编号实体创建记录时,它将在要编号的实体(例如帐户)的创建消息的预操作中动态创建和注册一个步骤。执行该步骤时,它将加载自动编号记录以了解如何对帐户字段进行编号。
创建的步骤必须链接到自动编号记录,因此自动编号实体具有用于存储步骤 ID 的属性。创建步骤时,在预先创建自动编号实体时填充此属性。当用户删除自动编号记录时,此链接属性允许取消注册该步骤,因为它确切地知道要取消注册哪个步骤。如果帐户注册了更多插件,它还允许用户设置执行该步骤的顺序。
我遇到的问题是当我想要为同一实体编号 2 个或更多属性时。在这种情况下,用户将创建(假设)自动编号实体的 2 条记录,以便对帐户的 2 个字段进行编号。在这种情况下,我将有 2 个步骤注册到该帐户。创建帐户时,一个步骤将为一个字段编号,另一步骤将为另一个字段编号。这就是为什么我需要知道正在执行的步骤的 id 才能加载正确的自动编号记录。
抱歉,我的解释很乏味,但这个场景有点复杂,我不确定我是否足够清楚,但如果您愿意,我会尽力说得更清楚。