(p4 api .NET)设置多个ClientOption成员

时间:2013-06-28 16:18:55

标签: c# perforce

目前,在查看我的客户端设置时,“选项”字段为“noallwrite noclobber nocompress unlocked nomodtime normdir”。我想使用p4 api检查compress和rmdir字段。每个代码都有代码:

client.Options = ClientOption.Compress;
client.Options = ClientOption.RmDir;

然而,在查看api和在线后,我找不到同时做两者的方法。我可以很容易地进入P4V并检查这两个框,但我正在尝试使用p4 api来使未来工作区/客户端的设置更容易。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

由于p4选项中的选项是标志

  [Flags]
  public enum ClientOption
  {
    None = 0,
    AllWrite = 1,
    Clobber = 2,
    Compress = 4,
    Locked = 8,
    ModTime = 16,
    RmDir = 32,
  }

您可以将它们堆积起来以获得预期的结果,如此

P4.Client client = this.Repository.GetClient(clientname, null);
string  options= "noallwrite clobber nocompress unlocked nomodtime rmdir";

client.Options = new P4.ClientOption();

 if (!options.Contains("noallwrite"))
 {
     client.Options |= P4.ClientOption.AllWrite;
 }

 if (!options.Contains("noclobber"))
 {
    client.Options |= P4.ClientOption.Clobber;
 }
.....

希望这有帮助!