我正在尝试利用using以下代码中的语句:
Uri uri = new Uri("http://localhost:50222/odata");
var container = new CourseServiceRef.Container(uri);
CourseServiceRef.NotNeeded newTempUser = new CourseServiceRef.NotNeeded()
{
Email = model.UserName,
Username1 = model.UserName
};
container.AddToNotNeededs(newTempUser);
container.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
但是这不会编译.为什么?
using语句 - 不与using指令混合- 用于实现IDisposable接口的对象,以便它们在代码块的末尾自动处理:
using (var toto = new MyDisposableClass())
{
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
如果你的任何类确实实现了这个接口(或者继承了那个接口),你可以使用上面的语法来确保调用Dispose()方法.您不能将using块用于不实现此接口的对象,它不会编译.
从本质上讲,这将与以下相同:
var toto = new MyDisposableClass()
try
{
// do stuff
}
finally
{
if (toto != null) ((IDisposable)toto).Dispose();
}
Run Code Online (Sandbox Code Playgroud)
这里唯一的区别是,在第一个场景中,toto范围在using块的末尾死亡.
| 归档时间: |
|
| 查看次数: |
137 次 |
| 最近记录: |