怎么在类上添加 [Transaction(TransactionMode.Manual)] 和 [Transaction(TransactionMode.Manual)] 属性
时间: 2023-10-27 08:09:06 浏览: 212
在 C# 中,可以使用以下方式在类上添加属性:
```csharp
[Transaction(TransactionMode.Manual)]
public class MyClass
{
// class implementation
}
```
其中,`Transaction` 是属性名称,而 `TransactionMode.Manual` 是属性值。同样的,你可以添加另一个属性:
```csharp
[Transaction(TransactionMode.Manual)]
[AnotherAttribute]
public class MyClass
{
// class implementation
}
```
这样,你就在类上添加了两个属性 `Transaction` 和 `AnotherAttribute`。注意,属性的使用可能会因语言和框架而异,这里只提供 C# 的示例。
相关问题
namespace RevitAutosave { [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] class Autosave : IExternalApplication { string oldDateTime = null; //自动保存
以下是Revit二次开发中实现自动保存功能的代码示例:
```
namespace RevitAutosave
{
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
class Autosave : IExternalApplication
{
string oldDateTime = null; // 上一次保存时间
public Result OnStartup(UIControlledApplication application)
{
// 设置定时器,每隔10分钟执行一次保存操作
Timer timer = new Timer(new TimerCallback(AutosaveCallback), null, 0, 10 * 60 * 1000);
return Result.Succeeded;
}
public Result OnShutdown(UIControlledApplication application)
{
return Result.Succeeded;
}
// 定时器回调函数
private void AutosaveCallback(object state)
{
// 获取当前文档
Document doc = Autodesk.Revit.ApplicationServices.Application.ActiveUIDocument.Document;
// 获取当前时间
string currentDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
// 与上一次保存时间比较,如果时间间隔大于10分钟,则执行保存操作
if (oldDateTime == null || (DateTime.Parse(currentDateTime) - DateTime.Parse(oldDateTime)).TotalMinutes >= 10)
{
// 执行保存操作
doc.Save();
// 更新上一次保存时间
oldDateTime = currentDateTime;
}
}
}
}
```
以上代码实现了在Revit二次开发中自动保存的功能,每隔10分钟自动执行保存操作。在OnStartup方法中设置定时器,定时器回调函数AutosaveCallback中获取当前时间并与上一次保存时间比较,如果时间间隔大于10分钟则执行保存操作,并更新上一次保存时间。需要注意的是,定时器回调函数中的代码应该是线程安全的,以避免出现多线程问题。
[JDBC Compliant Mode] Transaction is not supported. You may change jdbcCompliant to false to throw SQLException instead.
这似乎是一个关于 JDBC 兼容模式的警告信息。这个警告表示当前的 JDBC 驱动程序不支持事务操作,但是 JDBC 规范要求所有的 JDBC 驱动程序都应该支持事务操作。为了遵守规范,JDBC 驱动程序可以选择将 jdbcCompliant 设置为 true 并抛出 SQLException,或者将其设置为 false 并忽略事务操作。如果你想要遵守规范并抛出异常,你可以将 jdbcCompliant 设置为 true。如果你想要忽略事务操作并避免抛出异常,你可以将其设置为 false。
阅读全文