tas*_*ula 2 c# windows-store-apps windows-8.1
我正在研究用于创建Windows 8.1应用程序的"Contose Cookbook"培训.
通过第一个实验室,我看到了类似的东西variable += function;.该函数没有paranthesis,据我所知,你可以创建没有paranthesis的函数,这些属性是属性,但你必须用它们调用它们.
这是我发现的一个类:
namespace ContosoCookbook
{
sealed partial class App : Application
{
public App()
{
this.InitializeComponent();
this.Suspending += OnSuspending;
}
private async void OnSuspending(object sender, SuspendingEventArgs e)
{
var deferral = e.SuspendingOperation.GetDeferral();
await SuspensionManager.SaveAsync();
deferral.Complete();
}
...
}
}
Run Code Online (Sandbox Code Playgroud)
什么类型的调用或函数是接受它的.
来自msdn 的Application.Suspending事件.
有问题的事件处理程序接受一个与方法参数匹配的委托,允许它接受一个方法组.
举个简单的例子,任何Action变量都可以接受任何没有参数的void方法作为方法组.上面的事件处理程序的委托可能需要object指示发件人和某种类型EventArguments.
最常见的代表了是Action<T>,Func<T>并且Predicate<T>,它代表空隙的方法,具有指定的返回类型的方法,和方法,其分别返回布尔值.他们也可以被分配lambdas.它们都有不同数量的参数.它们在某些情况下非常有用.
请注意,分配委托不会调用它; 这可以在以后完成.代表们也可以合并.值得注意的是,委托可以使用局部变量做一些奇怪的事情:如果为委托分配类似于(name) => tempName += namewhere tempName局部变量的东西,则在调用委托时将修改局部变量.这是有道理的,但可能并不明显.
| 归档时间: |
|
| 查看次数: |
2243 次 |
| 最近记录: |