我正在制作一个AWS lambda函数,并且当事件发生并且我的lambda函数被调用时,我的函数处理函数的事件对象将具有eventArgs.FirstName和eventArgs.LastName的属性。我猜我必须对EventArgs类做些什么,但是我很困惑。如何使用EventArgs获取事件详细信息?
我的参数究竟应该是什么功能?目前我有(EventArgs e,ILambdaContext上下文)。我如何获得名字&发送给函数的姓氏?
我正在制作一个AWS lambda函数,并且当事件发生并且我的lambda函数被调用时,我的函数处理函数的事件对象将具有eventArgs.FirstName和eventArgs.LastName的属性。我猜我必须对EventArgs类做些什么,但是我很困惑。如何使用EventArgs获取事件详细信息?
我的参数究竟应该是什么功能?目前我有(EventArgs e,ILambdaContext上下文)。我如何获得名字&发送给函数的姓氏?
默认第一个参数是一个流,但你可以指定你想,只要你为它默认的序列任何类型。您可以通过在方法上添加属性来完成此操作。
你的情况:
[LambdaSerializer(typeof(Amazon.Lambda.Serialization.Json.JsonSerializer))]
pubic void Foo(UserEventArgs eventArgs, ILambdaContext context) {
//do something
}
[Serializable()]
public class UserEventArgs : EventArgs {
public string FirstName {get; set;}
public string LastName {get; set;}
}
顺便说一句,你不必使用/从EventArgs类都继承。假设这是你已经拥有的东西。
还应加上Amazon.Lambda.Serialization.Json依赖于你的project.json文件是这样的:
"dependencies":{
"Amazon.Lambda.Serialization.Json": "1.0.0"
},
一个潜在的解决方案是创建一套新的EventArgs的,就像这样:
public class NameEventArgs: System.EventArgs
{
String FirstName {get; set;}
String LastName {get; set;}
}
然后,创建一个事件委托:
public delegate void NameEventHandler(object sender, NameEventArgs e);
实例化的事件委托:
public event NameEventHandler SomeEvent;
定义当目标完成,将做一些事情的方法:
public void EventHandler(object sender, NameEventArgs e)
{
// do something
}
指定该方法对事件:
this.SomeEvent += this.EventHandler;
如果使用这种模式,你应该能够为NameEventArgs对象添加更多值来帮助实现您的lambda目标。
.NET中的所有事件类都应该继承'EventArgs'作为基础。你必须将它转换到你的类来查看属性(查看API的文档)。有关EventArgs的来源,请看这里:http://www.dotnetframework.org/default.aspx/DotNET/ DOTNET/8 @ 0/untmp /惠德比/ REDBITS/NDP/CLR/SRC/BCL /系统/ EventArgs的@ CS/1/EventArgs的@ CS – Kyle