表示为 .NET 类的消息
此方法首先需要创建一个定义消息类型的 .NET 类。 该类必须具有默认构造函数,否则,使用它的业务流程将无法编译。 下面是这个类的简单示例。
using System;
using Microsoft.XLANGs.BaseTypes;
Using PropertyNamespace;
namespace NetClass
{
[Serializable]
public class MsgClass
{
public MsgClass()
{
StrField = "OK";
IntField = 1;
ShortField = 1;
}
[PropertyNamespace.ShortPropertyName]
public Int16 ShortField;
[PropertyAttribute(typeof(PropertyNamespace.StringPropertyName)]
[DistinguishedFieldAttribute()]
public String StrField;
[DistinguishedFieldAttribute()]
public int IntField;
}
}
在上面的示例中,ShortField 是 PropertyNamespace.ShortPropertyName 类型的属性,该属性的基础类型必须为 Int16,Int16 是 ShortField 类型。 StrField 既是可分辨字段,又是 PropertyNamespace.StringPropertyName 类型的属性,该属性的基础类型必须为 String 类型,String 是 StrField 类型。 通常,PropertyNamespace.StringPropertyName 和 PropertyNamespace.ShortPropertyName 都是通过 BizTalk 架构编辑器作为架构属性创建的,并且您需要引用在 C# 项目中包含架构属性的程序集。
注意
在 C# 编程语言中,属性名的 Attribute 结尾是可选的,因此您可以省略 Attribute 结尾,使用 DistinguishedField 或 Property。 例如,
[Property(typeof(PropertyNamespace.StringPropertyName))]
[DistinguishedField]
public string StrField;
定义消息类型后,可以很容易地在业务流程中编写代码,以创建此类型的新消息。 在 “构造消息” 形状中,编写简单的表达式以创建上面所示 的 MsgClass 类型的新消息,然后将值分配给属性为“可分辨字段”的字段 ((如果要替代) 默认值)。 注意,MyMsg 为业务流程消息变量,其类型为 NetClass.MsgClass。
MyMsg = new NetClass.MsgClass();
MyMsg.StrField = "Changed Value";
MyMsg.IntField = 15;