为什么Rider要求我即使已安装.NET Framework 4.7.2 Developer Pack也要安装它?
我正在Unity3d使用Rider。
这是Rider要求我做的事情:
下午7:41未安装.NET Framework:下载并安装.NET Framework 4.7.2 Developer Pack
我确实从这里下载并安装了软件包。
我什至重新打开了Rider,但问题仍然存在。
还有什么我可以尝试的吗?
是否可以像 css 中的弹性项目一样缩小网格项目?
网格项目
.container {
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.child {
display: flex;
flex-flow: row wrap;
align-items: center;
justify-content: center;
padding: 5px;
border: 3px solid #a07;
}Run Code Online (Sandbox Code Playgroud)
<div class="container">
<div class="child">
text
</div>
<div class="child">
text
</div>
<div class="child">
text
</div>
<div class="child">
text
</div>
<div class="child">
text
</div>
</div>Run Code Online (Sandbox Code Playgroud)
弹性项目
.container {
display: flex;
margin-left: -10px;
flex-flow: row wrap;
}
.child {
display: flex;
flex-flow: row wrap;
align-items: center;
justify-content: center;
padding: …Run Code Online (Sandbox Code Playgroud)为什么我们在事件中指定一个委托,为什么不在C#中使用事件呢?
例如,我有以下代码:
class Shop
{
internal delegate void _EventHandler(object sender, GoodsInfoEventArgs e);
internal event _EventHandler GoodsArrived;
public void BringGoods(string goods)
{
if (GoodsArrived != null)
{
GoodsArrived(this, new GoodsInfoEventArgs(goods));
}
}
}
Run Code Online (Sandbox Code Playgroud)
为什么开发C#的人不会通过以下方式实现事件:
class Shop
{
internal event _EventHandler GoodsArrived;
public void BringGoods(string goods)
{
if (GoodsArrived != null)
{
GoodsArrived(this, new GoodsInfoEventArgs(goods));
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的意思是没有代表.
我知道事件在C#中是如何工作的.它将只调用所有已订阅的代理,如果有的话,它将等于null.而且我也知道事件和代表之间的区别.该事件仅允许添加或减少委托,但不允许更改指针(我们可以对事件执行+=和-=操作,但我们不能=对事件执行操作),而委托允许执行所有加法,减法和赋值操作.因此,事件是委托的包装器,包装器允许控制委托可以改变的方式.
所有这一切,我不明白其背后的原因需要在我们定义事件的程序中的每个地方都定义一个委托.
如果你不理解我的问题的一部分,请问我这个问题,我会提供更多信息.
谢谢.
我很抱歉混淆.我的意思是,为什么不使用这样的东西:
internal event _EventHandler(object sender, GoodsInfoEventArgs e) GoodsArrived;
Run Code Online (Sandbox Code Playgroud)
?