简单地说,Debug.Assert
失败的调用不会停止MonoDevelop中程序的执行流程,它们只是打印出一个像这样开始的跟踪消息(后跟堆栈跟踪):
2012-12-28 19:21:01.978 TestApp[81689:c07] ---- DEBUG ASSERTION FAILED ----
2012-12-28 19:21:01.979 TestApp[81689:c07] ---- Assert Short Message ----
Run Code Online (Sandbox Code Playgroud)
我可以做些什么来强制在MonoDevelop中Debug.Asserts
破坏执行失败Assert
?
有没有办法指定存储桶创建策略,以便具有指定角色的用户只能创建具有指定名称模式的存储桶,而company-dbbackup-*
不能创建其他名称模式?
例如,用户将被允许创建名称为company-dbbackup-March2017
和 的存储桶company-dbbackup-fullarchive
,但不允许创建存储桶test-bucketname-invalid
。
我现在拥有的:
{
"Sid": "Stmt1493212897117",
"Action": [
"s3:CreateBucket",
"s3:ListAllMyBuckets"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::*"
}
Run Code Online (Sandbox Code Playgroud)
但这允许我创建具有任何名称的存储桶。
在C#中,如果委托定义如下:
delegate void A();
A a = () => {Console.WriteLine("Test")};
Run Code Online (Sandbox Code Playgroud)
它可以调用:
a.Invoke(); // Works
a(); // Also works
Run Code Online (Sandbox Code Playgroud)
在F#中,可以调用C#委托:
a.Invoke() // Works fine.
a() // Error: This value is not a function and cannot be applied
Run Code Online (Sandbox Code Playgroud)
为什么我不能在F#中使用第二种方法?在C#中,()运算符是否只是映射到Invoke方法,或者是否在其下发生了其他事情.F#中有更清晰的语法吗?
amazon-iam ×1
amazon-s3 ×1
assert ×1
c# ×1
debugging ×1
delegates ×1
f# ×1
mono ×1
monodevelop ×1