Skip to content

FBroSharpDictionaryValue:

//
// 摘要:
//     字典值控制类:通过继承“IFBroSharpDictionaryValue”接口实现,与“类_FBrowser_字典值”对应

IFBroSharpDictionaryValue:

using System;
using System.Collections.Generic;
using FBroSharp.Lib;

namespace FBroSharp.Value;

public interface IFBroSharpDictionaryValue : IFBroSharpBase, IDisposable
{
    //
    // 摘要:
    //     是否有效 Returns true if this object is valid. This object may become invalid if
    //     the underlying data is owned by another object (e.g. list or dictionary) and
    //     that other object is then modified or destroyed. Do not call any other methods
    //     if this method returns false.
    bool IsValid { get; }

    //
    // 摘要:
    //     Returns the value at the specified key as type string.
    string GetString(string key);

    //
    // 摘要:
    //     Returns the value at the specified key as type binary. The returned value will
    //     reference existing data.
    IFBroSharpBinaryValue GetBinary(string key);

    //
    // 摘要:
    //     Sets the value at the specified key as type binary. Returns true if the value
    //     was set successfully. If |value| is currently owned by another object then the
    //     value will be copied and the |value| reference will not change. Otherwise, ownership
    //     will be transferred to this object and the |value| reference will be invalidated.
    bool SetBinary(string key, IFBroSharpBinaryValue inValue);

    //
    // 摘要:
    //     Returns the value at the specified key as type dictionary. The returned value
    //     will reference existing data and modifications to the value will modify this
    //     object.
    IFBroSharpDictionaryValue GetDictionary(string key);

    //
    // 摘要:
    //     Returns the value at the specified key as type list. The returned value will
    //     reference existing data and modifications to the value will modify this object.
    IFBroSharpListValue GetList(string key);

    //
    // 摘要:
    //     Returns true if this object is currently owned by another object.
    bool IsOwned();

    //
    // 摘要:
    //     Returns true if the values of this object are read-only. Some APIs may expose
    //     read-only objects.
    bool IsReadOnly();

    //
    // 摘要:
    //     Returns true if this object and |that| object have the same underlying data.
    //     If true modifications to this object will also affect |that| object and vice-versa.
    bool IsSame(IFBroSharpDictionaryValue that);

    //
    // 摘要:
    //     Returns true if this object and |that| object have an equivalent underlying value
    //     but are not necessarily the same object.
    bool IsEqual(IFBroSharpDictionaryValue that);

    //
    // 摘要:
    //     Returns a writable copy of this object. If |exclude_empty_children| is true any
    //     empty dictionaries or lists will be excluded from the copy.
    IFBroSharpDictionaryValue CopyValue(bool exclude_empty_children);

    //
    // 摘要:
    //     Returns the number of values.
    int GetSize();

    //
    // 摘要:
    //     Removes all values. Returns true on success.
    bool Clear();

    //
    // 摘要:
    //     Returns true if the current dictionary has a value for the given key.
    bool HasKey(string key);

    //
    // 摘要:
    //     Reads all keys for this dictionary into the specified vector.
    List<string> GetKeys();

    //
    // 摘要:
    //     Removes the value at the specified key. Returns true is the value was removed
    //     successfully.
    bool Remove(string key);

    //
    // 摘要:
    //     Returns the value type for the specified key.
    int GetType(string key);

    //
    // 摘要:
    //     Returns the value at the specified key. For simple types the returned value will
    //     copy existing data and modifications to the value will not modify this object.
    //     For complex types (binary, dictionary and list) the returned value will reference
    //     existing data and modifications to the value will modify this object.
    IFBroSharpValue GetValue(string key);

    //
    // 摘要:
    //     Returns the value at the specified key as type bool.
    bool GetBool(string key);

    //
    // 摘要:
    //     Returns the value at the specified key as type int.
    int GetInt(string key);

    //
    // 摘要:
    //     Returns the value at the specified key as type double.
    double GetDouble(string key);

    //
    // 摘要:
    //     Sets the value at the specified key. Returns true if the value was set successfully.
    //     If |value| represents simple data then the underlying data will be copied and
    //     modifications to |value| will not modify this object. If |value| represents complex
    //     data (binary, dictionary or list) then the underlying data will be referenced
    //     and modifications to |value| will modify this object.
    bool SetValue(IFBroSharpValue value, string key);

    //
    // 摘要:
    //     Sets the value at the specified key as type null. Returns true if the value was
    //     set successfully.
    bool SetNull(string key);

    //
    // 摘要:
    //     Sets the value at the specified key as type bool. Returns true if the value was
    //     set successfully.
    bool SetBool(string key, bool value);

    //
    // 参数:
    //   key:
    //
    //   value:
    bool SetInt(string key, int value);

    //
    // 摘要:
    //     Sets the value at the specified key as type int. Returns true if the value was
    //     set successfully.
    bool SetDouble(string key, double value);

    //
    // 摘要:
    //     Sets the value at the specified key as type string. Returns true if the value
    //     was set successfully.
    bool SetString(string key, string value);

    //
    // 摘要:
    //     Sets the value at the specified key as type dict. Returns true if the value was
    //     set successfully. If |value| is currently owned by another object then the value
    //     will be copied and the |value| reference will not change. Otherwise, ownership
    //     will be transferred to this object and the |value| reference will be invalidated.
    bool SetDictionary(string key, IFBroSharpDictionaryValue value);

    //
    // 摘要:
    //     Sets the value at the specified key as type list. Returns true if the value was
    //     set successfully. If |value| is currently owned by another object then the value
    //     will be copied and the |value| reference will not change. Otherwise, ownership
    //     will be transferred to this object and the |value| reference will be invalidated.
    bool SetList(string key, IFBroSharpListValue value);
}
#if false // 反编译日志
缓存中的 15 项
------------------
解析: "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
找到单个程序集: "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
从以下位置加载: "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\mscorlib.dll"
------------------
解析: "System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
找到单个程序集: "System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
从以下位置加载: "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.dll"
#endif

如果文档对您有帮助,欢迎 请喝咖啡 ☕ | 软件发布 | 源码购买