diff --git a/README.md b/README.md index 38ebb2a..51efdea 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ Fay数字人助理版是fay开源项目的重要分支,专注于构建智能 ## **推荐集成** +给Fay加上本地免费语音识别(达摩院funaar): https://www.bilibili.com/video/BV1qs4y1g74e/?share_source=copy_web&vd_source=64cd9062f5046acba398177b62bea9ad + 消费级pc大模型(ChatGLM-6B的基础上前置Rasa会话管理):https://m.bilibili.com/video/BV1D14y1f7pr UE5工程:https://github.com/xszyou/fay-ue5 @@ -153,7 +155,8 @@ python main.py | 代码模块 | 描述 | 链接 | | ------------------------- | -------------------------- | ------------------------------------------------------------ | -| ./ai_module/ali_nls.py | 阿里云 实时语音识别 | https://ai.aliyun.com/nls/trans | +| ./ai_module/ali_nls.py | 实时语音识别(免费3个月,asr二选一) | https://ai.aliyun.com/nls/trans | +| ./ai_module/funasr.py | 达摩院开源免费本地asr (asr二选一) | fay/test/funasr/README.MD | | ./ai_module/ms_tts_sdk.py | 微软 文本转情绪语音(可选) | https://azure.microsoft.com/zh-cn/services/cognitive-services/text-to-speech/ | | ./ai_module/xf_ltp.py | 讯飞 情感分析 | https://www.xfyun.cn/service/emotion-analysis | | ./utils/ngrok_util.py | ngrok.cc 外网穿透(可选) | http://ngrok.cc | diff --git a/ai_module/funasr.py b/ai_module/funasr.py new file mode 100644 index 0000000..243a7f4 --- /dev/null +++ b/ai_module/funasr.py @@ -0,0 +1,120 @@ +""" +感谢北京中科大脑神经算法工程师张聪聪提供funasr集成代码 +""" +from threading import Thread +import websocket +import json +import time +import ssl +import _thread as thread + +from core import wsa_server, song_player +from utils import config_util as cfg + +class FunASR: + # 初始化 + def __init__(self): + self.__URL = "ws://{}:{}".format(cfg.local_asr_ip, cfg.local_asr_port) + self.__ws = None + self.__connected = False + self.__frames = [] + self.__state = 0 + self.__closing = False + self.__task_id = '' + self.done = False + self.finalResults = "" + + + def __on_msg(self): + if "暂停" in self.finalResults or "不想听了" in self.finalResults or "别唱了" in self.finalResults: + song_player.stop() + + # 收到websocket消息的处理 + def on_message(self, ws, message): + try: + self.done = True + self.finalResults = message + wsa_server.get_web_instance().add_cmd({"panelMsg": self.finalResults}) + self.__on_msg() + + except Exception as e: + print(e) + + if self.__closing: + try: + self.__ws.close() + except Exception as e: + print(e) + + # 收到websocket错误的处理 + def on_close(self, ws, code, msg): + self.__connected = False + print("### CLOSE:", msg) + + # 收到websocket错误的处理 + def on_error(self, ws, error): + print("### error:", error) + + # 收到websocket连接建立的处理 + def on_open(self, ws): + self.__connected = True + + def run(*args): + while self.__connected: + try: + if len(self.__frames) > 0: + frame = self.__frames[0] + + self.__frames.pop(0) + if type(frame) == dict: + ws.send(json.dumps(frame)) + elif type(frame) == bytes: + ws.send(frame, websocket.ABNF.OPCODE_BINARY) + # print('发送 ------> ' + str(type(frame))) + except Exception as e: + print(e) + time.sleep(0.04) + + thread.start_new_thread(run, ()) + + def __connect(self): + self.finalResults = "" + self.done = False + self.__frames.clear() + websocket.enableTrace(False) + self.__ws = websocket.WebSocketApp(self.__URL, on_message=self.on_message,on_close=self.on_close,on_error=self.on_error,subprotocols=["binary"]) + self.__ws.on_open = self.on_open + + self.__ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE}) + + def add_frame(self, frame): + self.__frames.append(frame) + + def send(self, buf): + self.__frames.append(buf) + + def start(self): + Thread(target=self.__connect, args=[]).start() + data = { + 'vad_need':False, + 'state':'StartTranscription' + } + self.add_frame(data) + + def end(self): + if self.__connected: + try: + for frame in self.__frames: + self.__frames.pop(0) + if type(frame) == dict: + self.__ws.send(json.dumps(frame)) + elif type(frame) == bytes: + self.__ws.send(frame, websocket.ABNF.OPCODE_BINARY) + time.sleep(0.4) + self.__frames.clear() + frame = {'vad_need':False,'state':'StopTranscription'} + self.__ws.send(json.dumps(frame)) + except Exception as e: + print(e) + self.__closing = True + self.__connected = False diff --git a/bin/Release_2.85/BCMakeCert.dll b/bin/Release_2.85/BCMakeCert.dll deleted file mode 100644 index 646753a..0000000 Binary files a/bin/Release_2.85/BCMakeCert.dll and /dev/null differ diff --git a/bin/Release_2.85/BasicFormatsForCore.dll b/bin/Release_2.85/BasicFormatsForCore.dll deleted file mode 100644 index 6df3d76..0000000 Binary files a/bin/Release_2.85/BasicFormatsForCore.dll and /dev/null differ diff --git a/bin/Release_2.85/CertMaker.dll b/bin/Release_2.85/CertMaker.dll deleted file mode 100644 index 1eaaec8..0000000 Binary files a/bin/Release_2.85/CertMaker.dll and /dev/null differ diff --git a/bin/Release_2.85/ColorConsole.dll b/bin/Release_2.85/ColorConsole.dll deleted file mode 100644 index 8d4c743..0000000 Binary files a/bin/Release_2.85/ColorConsole.dll and /dev/null differ diff --git a/bin/Release_2.85/FiddlerCore4.dll b/bin/Release_2.85/FiddlerCore4.dll deleted file mode 100644 index bf22ee5..0000000 Binary files a/bin/Release_2.85/FiddlerCore4.dll and /dev/null differ diff --git a/bin/Release_2.85/FiddlerCore4.xml b/bin/Release_2.85/FiddlerCore4.xml deleted file mode 100644 index b46c123..0000000 --- a/bin/Release_2.85/FiddlerCore4.xml +++ /dev/null @@ -1,7270 +0,0 @@ - - - - FiddlerCore4 - - - - - Map a local port number to the originating process ID - - The local port number - The originating process ID - - - - Calls the GetExtendedTcpTable function to map a port to a process ID. - This function is (over) optimized for performance. - - Client port - AF_INET or AF_INET6 - PID, if found, or 0 - - - - Given a local port number, uses GetExtendedTcpTable to find the originating process ID. - First checks the IPv4 connections, then looks at IPv6 connections. - - Client applications' port - ProcessID, or 0 if not found - - - - Returns a string containing the process listening on a given port - - - - - Enumeration of possible queries that can be issued using GetExtendedTcpTable - http://msdn2.microsoft.com/en-us/library/aa366386.aspx - - - - - Processes listening on Ports - - - - - Processes with active TCP/IP connections - - - - - This class is used to find and create certificates for use in HTTPS interception. - The default implementation (DefaultCertProvider object) uses the Windows Certificate store, - but if a plugin ICertificateProvider is provided, it is used instead. - - - - - Enables specification of a delegate certificate provider that generates certificates for HTTPS interception. - - - - - Lock on this object when TestExistenceOf/Create oCertProvider - - - - - Ensures that the Certificate Generator is ready; thread-safe - - - - - Load a delegate Certificate Provider - - The provider, or null - - - - Removes Fiddler-generated certificates from the Windows certificate store - - - - - Removes Fiddler-generated certificates from the Windows certificate store - - Indicates whether Root certificates should also be cleaned up - - - - Returns the Root certificate that Fiddler uses to generate per-site certificates used for HTTPS interception. - - Returns the root certificate, if present, or null if the root certificate does not exist. - - - - Return the raw byte[]s of the root certificate, or null - - - - - - Request a certificate with the specified SubjectCN - - A string of the form: "www.hostname.com" - A certificate or /null/ if the certificate could not be found or created - - - - Pre-cache a Certificate in the Certificate Maker that should be returned in subsequent calls to FindCert - - The hostname for which this certificate should be returned. - The X509Certificate2 with attached Private Key - TRUE if the Certificate Provider succeeded in pre-caching the certificate. FALSE if Provider doesn't support pre-caching. THROWS if supplied Certificate lacks Private Key. - - - - Pre-cache a Certificate in the Certificate Maker that should be returned in subsequent calls to FindCert - - The hostname for which this certificate should be returned. - The filename of the PFX file containing the certificate and private key - The password for the PFX file - Throws if the Certificate Provider failed to pre-cache the certificate - - - - Determine if the self-signed root certificate exists - - True if the Root certificate returned from GetRootCertificate is non-null, False otherwise. - - - - Is Fiddler's root certificate in the Root store? - - TRUE if so - - - - Is Fiddler's root certificate in the Machine Root store? - - TRUE if so - - - - Create a self-signed root certificate to use as the trust anchor for HTTPS interception certificate chains - - TRUE if successful - - - - Finds the Fiddler root certificate and prompts the user to add it to the TRUSTED store. - Note: The system certificate store is used by most applications (IE, Chrome, etc) but not - all; for instance, Firefox uses its own certificate store. - - True if successful - - - - Dispose of the Certificate Provider, if any. - - - - - The ClientChatter object, exposed as the oRequest object on the Session object, represents a single web request. - - - - - Size of buffer passed to pipe.Receive when reading from the client. - - - - - Tracks the progress of reading the request from the client. Because of the multi-threaded nature - of some users of this field, most will make a local copy before accessing its members. - - - - - The ClientPipe object which is connected to the client, or null. - - - - - Parsed Headers - - - - - The Session object which owns this ClientChatter - - - - - Create a ClientChatter object initialized with a set of HTTP headers - Called primarily when loading session data from a file. - - The Session object which will own this request - The string containing the request data - - - - Loads a HTTP request body from a file rather than a memory stream. - - The file to load - TRUE if the file existed. THROWS on most errors other than File-Not-Found - - - - Based on this session's data, determine the expected Transfer-Size of the request body. See RFC2616 Section 4.4 Message Length. - Note, there's currently no support for "multipart/byteranges" requests anywhere in Fiddler. - - Expected Transfer-Size of the body, in bytes. - - - - Free Request data. Called by TakeEntity or by ReadRequest method on request failure - - - - - Extract byte array representing the entity, put any excess bytes back in the pipe, free the RequestReadState, and - return the entity. - - Byte array containing the entity body - - - - Send a HTTP/XXX Error Message to the Client, calling FiddlerApplication.BeforeReturningError and DoReturningError in FiddlerScript. - Note: This method does not poison the Server pipe, so if poisoning is desired, it's the caller's responsibility to do that. - Note: Because this method uses Connection: close on the returned response, it has the effect of poisoning the client pipe - - Response code - Response status text - Body of the HTTP Response - - - - Return a HTTP response and signal that the client should close the connection - - A Delegate that fires to give one final chance to modify the Session before - calling the DoBeforeReturningError and returning the response - - - - Parse the headers from the requestData buffer. - Precondition: Call AFTER having set the correct iEntityBodyOffset. - - Note: This code used to be a lot simpler before, when it used strings instead of byte[]s. Sadly, - we've gotta use byte[]s to ensure nothing in the URI gets lost. - - TRUE if successful. - - - - This function decides if the request string represents a complete HTTP request - - - - - - Read a (usually complete) request from pipeClient. If RequestStreamed flag is set, only the headers have been read. - - TRUE, if a request could be read. FALSE, otherwise. - - - - Verifies that the Hostname specified in the request line is compatible with the HOST header - - - - - Count of body bytes read from the client. If no body bytes have yet been read, returns count of header bytes. - - - - - HTTP Headers sent in the client request, or null. - - - - - Was this request received from a reused client connection? Looks at SessionFlags.ClientPipeReused flag on owning Session. - - - - - Note: This returns the request's HOST header, which may include a trailing port #. - If the Host is an IPv6 literal, it will be enclosed in brackets '[' and ']' - - - - - Controls whether the request body is streamed to the server as it is read from the client. - - - - - Simple indexer into the Request Headers object - - - - - Discardable State of Read Operation - - While it is reading a request from the client, the ClientChatter class uses a RequestReaderState object to track - the state of the read. This state is discarded when the request has been completely read. - - - - - The Host pulled from the URI - - - - - Buffer holds this request's data as it is read from the pipe. - - - - - Offset to first byte of body in m_requestData - - - - - Optimization: Offset of most recent transfer-encoded chunk - - - - - Optimization: tracks how far we've previously looked when determining iEntityBodyOffset - - - - - Did the request specify Transfer-Encoding: chunked - - - - - The integer value of the Content-Length header, if any - - - - - Count of body bytes read from the client. If no body bytes have yet been read, returns count of header bytes. - - - - - - Scans requestData stream for the \r\n\r\n (or variants) sequence - which indicates that the header block is complete. - - SIDE EFFECTS: - iBodySeekProgress is updated and maintained across calls to this function - iEntityBodyOffset is updated if the end of headers is found - - True, if requestData contains a full set of headers - - - - The CONFIG object is Fiddler's legacy settings object, introduced before the advent of the Preferences system. - - - - - Underlying Preferences container whose IFiddlerPreferences interface is - exposed by the FiddlerApplication.Prefs property. - - - - - Response files larger than this (2^28 = ~262mb) will NOT be loaded into memory when using LoadResponseFromFile - - - - - Backing field for the QuietMode property. Controls whether notifications are displayed in a MessageBox. - NB: KEEP THIS FIELD DECLARED AT THE TOP OF THE CLASS. We initialize some fields using methods that can check this field. - - - - - Cached layout info for columns. - - - - - True if this is a "Viewer" instance of Fiddler that will not persist its settings. Exposed as FiddlerApplication.IsViewerMode - - - TODO: ARCH: This setting shouldn't exist in FiddlerCore, but it's used in a dozen places - - - - TODO: Why is this defaulted to FALSE? Has been since 2009, probably due to some bug. Should keep better records. (Sigh). - - - - - Boolean controls whether Fiddler should map inbound connections to their original process using IPHLPAPI - - - - - Boolean controls whether Fiddler should attempt to decrypt HTTPS Traffic - - - - - Boolean controls whether Fiddler will attempt to use the Server Name Indicator TLS extension to generate the SubjectCN for certificates - - - - - Should Audio/Video types automatically stream by default? - - - - - Returns 127.0.0.1:{ListenPort} or fiddler.network.proxy.RegistrationHostName:{ListenPort} - - - - - Use 128bit AES Encryption when password-protecting .SAZ files. Note that, while this - encryption is much stronger than the default encryption algorithm, it is significantly - slower to save and load these files, and the Windows Explorer ZIP utility cannot open them. - - - - - SSL/TLS Protocols we allow the client to choose from (when we call AuthenticateAsServer) - We allow all protocols by default (Ssl2,Ssl3,Tls1) and also 'Bitwise OR' in the constants for TLS1.1 and TLS1.2 in case we happen to be running on .NET4.5. - - - - - SSL/TLS Protocols we request the server use (when we call AuthenticateAsClient). By default, SSL3 and TLS1 are accepted; we exclude SSL2 so that TLS Extensions may be sent. - We do NOT enable TLS1.1 or TLS1.2 by default because many servers will fail if you offer them and unlike browsers, .NET has no fallback code. - - - - - When True, Fiddler will offer the latest TLS protocol version offered by the client in its request - - - - - Version information for the Fiddler/FiddlerCore assembly - - - - - Will send traffic to an upstream proxy? - OBSOLETE -- DO NOT USE. see instead. - - - - - The encoding with which HTTP Headers should be parsed. Defaults to UTF8, but may be overridden by specifying a REG_SZ containing the encoding name in the registry key \Fiddler2\HeaderEncoding - - - - - Controls whether Fiddler will reuse server connections for multiple sessions - - - - - Controls whether Fiddler will reuse client connections for multiple sessions - - - - - Controls whether Fiddler should register as the HTTPS proxy - - - - - Controls whether Fiddler should register as the FTP proxy - - - - - Controls whether Fiddler will try to write exceptions to the System Event log. Note: Usually fails due to ACLs on the Event Log. - - - - - Controls whether Fiddler will attempt to log on to the upstream proxy server to download the proxy configuration script - - - - - Controls whether Fiddler will attempt to connect to IPv6 addresses - - - - - Name of connection to which Fiddler should autoattach if MonitorAllConnections is not set - - - - - The username to send to the upstream gateway if the Version Checking webservice request requires authentication - - - - - The password to send to the upstream gateway if the Version Checking webservice request requires authentication - - - - - Set this flag if m_ListenPort is a "temporary" port (E.g. specified on command-line) and it shouldn't be overridden in the registry - - - - - Controls whether Certificate-Generation output will be spewed to the Fiddler Log - - - - - Alternative hostname which Fiddler should recognize as an alias for the local machine. The - default value of ? will never be usable, as it's the QueryString delimiter - - - - - (Lowercase) Machine Name - - - - - (Lowercase) Machine Domain Name - - - - - List of hostnames for which HTTPS decryption (if enabled) should be skipped - - - - - True if Fiddler should be maximized on restart - - - - - Return a Special URL. - - String constant describing the URL to return. CASE-SENSITIVE! - Returns target URL - - - - Get a registry path for a named constant - - The path to retrieve [Root, UI, Dynamic, Prefs] - The registry path - - - - Return an app path (ending in Path.DirectorySeparatorChar) or a filename - - CASE-SENSITIVE - The specified filesystem path - - - - Ensure that the per-user folders used by Fiddler are present. - - - - - Loads Preferences from the Registry and fills appropriate fields - - - - - Generally, callers should use FiddlerApplication.Prefs, but RawPrefs allows use of the PreferenceBag members that - are not a part of IFiddlerPreferences - - - - - Control which processes have HTTPS traffic decryption enabled - - - - - What mechanism, if any, should Fiddler use to find the upstream proxy/gateway? - - - - - Port to which Fiddler should forward inbound requests when configured to run as a Reverse Proxy - - - - - On attach, will configure WinINET to bypass Fiddler for these hosts. - - - - - Boolean indicating whether Fiddler will open the listening port exclusively - - - - - Controls whether server certificate errors are ignored when decrypting HTTPS traffic. - - - - - Controls whether notification dialogs and prompts should be shown. - - - - - The port upon which Fiddler is configured to listen. - - - - - Returns the path and filename of the editor used to edit the Rules script file. - - - - - Returns true if Fiddler should permit remote connections. Requires restart. - - - - - When may requests be resent on a new connection? - - - - - The request may always be retried. - - - - - The request may never be retried - - - - - The request may only be resent if the HTTP Method is idempotent. - This SHOULD be the default per HTTP spec, but this appears to break tons of servers. - - - - - Type of Upstream Gateway - - - - - Traffic should be sent directly to the server - - - - - Traffic should be sent to a manually-specified proxy - - - - - Traffic should be sent to the System-configured proxy - - - - - Proxy should be automatically detected - - - - - A simple Process Type enumeration used by various filtering features - - - - - Include all Processes - - - - - Processes which appear to be Web Browsers - - - - - Processes which appear to NOT be Web Browsers - - - - - Include only traffic where Process ID isn't known (e.g. remote clients) - - - - - Interface for the WebSocket and CONNECT Tunnel classes - - - - - The CONNECTTunnel class represents a "blind tunnel" through which a CONNECT request is serviced to shuffle bytes between a client and the server. - - - See pg 206 in HTTP: The Complete Reference for details on how Tunnels work. - When HTTPS Decryption is disabled, Fiddler accepts a CONNECT request from the client. Then, we open a connection to the remote server. - We shuttle bytes back and forth between the client and the server in this tunnel, keeping Fiddler itself out of the loop - (no tampering, etc). - - - - - Number of bytes received from the client - - - - - Number of bytes received from the server - - - - - TRUE if this is a Blind tunnel, FALSE if decrypting - - - - - This "Factory" method creates a new HTTPS Tunnel and executes it on a background (non-pooled) thread. - - The Session containing the HTTP CONNECT request - - - - Creates a HTTPS tunnel. External callers instead use the CreateTunnel static method. - - The session for which this tunnel was initially created. - Client Pipe - Server Pipe - - - - This function keeps the thread alive until it is signaled that the traffic is complete - - - - - Executes the HTTPS tunnel inside an All-it-can-eat exception handler. - Call from a background thread. - - - - - Close the HTTPS tunnel and signal the event to let the service thread die. - WARNING: This MUST not be allowed to throw any exceptions, because it will do so on threads that don't catch them, and this will kill the application. - - - - - Called when we have received data from the local client. - Incoming data will immediately be forwarded to the remote host. - - The result of the asynchronous operation. - - - Called when we have sent data to the local client.
When all the data has been sent, we will start receiving again from the remote host.
- The result of the asynchronous operation. -
- - Called when we have sent data to the remote host.
When all the data has been sent, we will start receiving again from the local client.
- The result of the asynchronous operation. -
- - Called when we have received data from the remote host.
Incoming data will immediately be forwarded to the local client.
- The result of the asynchronous operation. -
- - - Returns number of bytes sent from the Server to the Client - - - - - Returns number of bytes sent from the Client to the Server - - - - - To override default certificate handling, your class should implement this interface in an assembly - referenced by the fiddler.certmaker.assembly preference; by default, "certmaker.dll" in the application - folder is loaded - - - - - Implement ICertificateProvider2 instead - - - - - Return a certificate to secure this traffic. Generally, it's expected that this method WILL create a new certificate if needed. - - Hostname (e.g. "www.example.com") - An X509Certificate, or null on error - - - - Return the root certificate to which Host Certificates are chained. Generally, it's expected that this method will NOT create a root certificate. - - An X509Certificate, or null on error - - - - When this method is called, your extension should create a Root certificate. - - TRUE if the operation was successful - - - - When this method is called, your extension should copy the your Root certificate into - the user's (or machines's) Root certificate store. - - TRUE if the operation was successful - - - - When this method is called, your extension should discard all certificates and - clear any certificates that have been added to the user's certificate store. - - TRUE, if all certificates were removed; FALSE if any certificates were preserved - - - - When this method is called, your extension should check to see if the User or Machine Root - certificate store contains your Root certificate. - - Set to TRUE if StoreLocation.CurrentUser StoreName.Root has the certificate - Set to TRUE if StoreLocation.LocalMachine StoreName.Root has the certificate - TRUE if either bUserTrusted or bMachineTrusted - - - - When this method is called, your extension should discard all certificates and - clear any certificates that have been added to the user's certificate store - - TRUE if the root certificate should also be cleared - TRUE, if all certificates were removed; FALSE if any certificates were preserved - - - - Call this function to cache a certificate in the Certificate Provider - - The hostname to match - The certificate that the Provider should later provide when GetCertificateForHost is called - True if the request was successful - - - - Return a string describing the current configuration of the Certificate Provider. For instance, list - the configured key size, hash algorithms, etc. - - - - - Show a configuration dialog that allows user to control options related to your Certificate Provider, - for instance, the configured key size, hash algorithm, etc. - - Owning Window Handle - - - - The underlying Certificate Generator (MakeCert or CertEnroll) - - - - - Cache of previously-generated EE certificates. Thread safety managed by _oRWLock - - - - - Cache of previously-generated Root certificate - - - - - Should Fiddler automatically generate wildcard certificates? - - - - - Reader/Writer lock gates access to the certificate cache and generation functions. - - We must set the SupportsRecursion flag because there are cases where the thread holds the lock in Write mode and then enters Read mode in a nested call. - - - - Find certificates that have the specified full subject. - - The store to search - FindBySubject{Distinguished}Name requires a complete match of the SUBJECT, including CN, O, and OU - Matching certificates - - - - Find all certificates (in the CurrentUser Personal store) that have the specified issuer. - - The store to search - FindByIssuer{Distinguished}Name requires a complete match of the SUBJECT, including CN, O, and OU - Matching certificates - - - - Interface method: Clear the in-memory caches and Windows certificate stores - - TRUE to clear the Root Certificate from the cache and Windows stores - TRUE if successful - - - - Interface method: Clear the in-memory caches and Windows certificate stores - - - - - - Use MakeCert to generate a unique self-signed certificate - - TRUE if the Root certificate was generated successfully - - - - Get the root certificate from cache or storage, only IF IT ALREADY EXISTS. - - - - - - Returns an Interception certificate for the specified hostname - - Hostname for the target certificate - This method uses a Reader lock when checking the cache and a Writer lock when updating the cache. - An Interception Certificate, or NULL - - - - Find a certificate from the certificate store, creating a new certificate if it was not found. - - A SubjectCN hostname, of the form www.example.com - TRUE if the cert wasn't found in the Windows Certificate store and this function attempted to create it. - No locks are acquired by this method itself. - A certificate or /null/ - - - - Find (but do not create!) a certificate from the CurrentUser certificate store, if present. - - No locks are acquired by this method itself. - A certificate or /null/ - - - - Updates the Server Certificate cache under the Writer lock - - The target hostname - The certificate to cache - - - - - Creates a certificate for ServerAuth. If isRoot is set, designates that this is a self-signed root. - - Uses a reader lock when checking for the Root certificate. Uses a Writer lock when creating a certificate. - A string of the form: "www.hostname.com" - A boolean indicating if this is a request to create the root certificate - Newly-created certificate, or Null - - - - CertEnroll is an ActiveX Control available on Windows Vista and later that allows programmatic generation of X509 certificates. - We can use it as an alternative to MakeCert.exe; it offers better behavior (e.g. setting AKID) and doesn't require redistributing makecert.exe - - - - - Factory method. Returns null if this engine cannot be created - - - - - Invoke CertEnroll - - Target CN - TRUE if the certificate is a root cert - TRUE if we should validate that we're running in a MTA thread and switch if not - A Cert - - - - Factory method. Returns null if this engine cannot be created - - - - - File path pointing to the location of MakeCert.exe - - - - - Hash to use when signing certificates. - Note: sha1 is required on XP (even w/SP3, using sha256 throws 0x80090008). - - - - - Constructor: Simply cache the path to MakeCert - - - - - Cache of Hostname->Address mappings - - - - - Number of milliseconds that a DNS cache entry may be reused without validation. - - - - - Maximum number of A/AAAA records to cache for DNS entries. - Beware: Changing this number changes how many IP-failovers Fiddler will perform if fiddler.network.dns.fallback is set, - and increasing the number will consume more memory in the cache. - - - - - Clear the DNS Cache. Called by the NetworkChange event handler in the oProxy object - - - - - Remove all expired DNSCache entries; called by the Janitor - - - - - Show the contents of the DNS Resolver cache - - - - - - Gets first available IP Address from DNS. Throws if address not found! - - String containing the host - True to use Fiddler's DNS cache. - IPAddress of target, if found. - - - - Gets IP Addresses for host from DNS. Throws if address not found! - - String containing the host - True to use Fiddler's DNS cache. - The Timers object to which the DNS lookup time should be stored, or null - List of IPAddresses of target, if any found. - - - - Trim an address list, removing the duplicate entries, any IPv6-entries if IPv6 is disabled, - and entries beyond the COUNT_MAX_A_RECORDS limit. - - The list to filter - A filtered address list - - - - A DNSCacheEntry holds a cached resolution from the DNS - - - - - TickCount of this record's creation - - - - - IPAddresses for this hostname - - - - - Construct a new cache entry - - The address information to add to the cache - - - - Attribute used to specify the minimum version of Fiddler compatible with this extension assembly. - - - - - Attribute used to specify the minimum version of Fiddler compatible with this extension assembly. - - The minimal version string (e.g. "2.2.8.8") - - - - Getter for the required version string - - - - - Attribute allowing developer to specify that a class supports the specified Import/Export Format - - - - - Attribute allowing developer to specify that a class supports the specified Import/Export Format - - Shortname of the Format (e.g. WebText XML) - Description of the format - - - - Attribute allowing developer to specify that a class supports the specified Import/Export Format - - Shortname of the Format (e.g. WebText XML) - Description of the format - Semi-colon delimited file extensions (e.g. ".har;.harx") - - - - Returns the Shortname for this format - - - - - Returns the Description of this format - - - - - This tuple maps a display descriptive string to a Import/Export type. - (The parent dictionary contains the shortname string) - - - - - Textual description of the Format - - - - - Class implementing the format - - - - - All metadata about the provider - - - - - Create a new Transcoder Tuple - - Format description - Type implementing this format - - - - ISessionImport allows loading of Session data - - - - - Import Sessions from a data source - - Shortname of the format - Dictionary of options that the Importer class may use - Callback event on which progress is reported or the host may cancel - Array of Session objects imported from source - - - - ISessionExport allows saving of Session data - - - - - Export Sessions to a data store - - Shortname of the format - Array of Sessions being exported - Dictionary of options that the Exporter class may use - Callback event on which progress is reported or the host may cancel - TRUE if the export was successful - - - - EventArgs class for the ISessionImporter and ISessionExporter interface callbacks - - - - - Progress Callback - - Float indicating completion ratio, 0.0 to 1.0. Set to 0 if unknown. - Short string describing current operation, progress, etc - - - - Set to TRUE to request that Import/Export process be aborted as soon as convenient - - - - - The string message of the notification - - - - - The percentage completed - - - - - Fiddler Transcoders allow import and export of Sessions from Fiddler - - - - - Create the FiddlerTranscoders object - - - - - List all of the Transcoder objects that are loaded - - - - - - Add Import/Export encoders to FiddlerApplication.oTranscoders - - Assembly to import exporters and importers - FALSE on obvious errors - - - - Add Import/Export encoders to FiddlerApplication.oTranscoders - - Assembly to scan for transcoders - FALSE on obvious errors - - - - Loads any assembly in the specified path that ends with .dll and does not start with "_", checks that a compatible version requirement was specified, - and adds the importer and exporters within to the collection. - - The path to scan for extensions - - - - Ensures that Import/Export Transcoders have been loaded - - - - - Returns a TranscoderTuple willing to handle the specified format - - The Format - TranscoderTuple, or null - - - - Returns a TranscoderTuple willing to handle the specified format - - The Format - TranscoderTuple, or null - - - - Gets the format list of the specified type and adds that type to the collection. - - - - TRUE if any formats were found; FALSE otherwise - - - - Clear Importer and Exporter collections - - - - - True if one or more classes implementing ISessionImporter are available. - - - - - True if one or more classes implementing ISessionImporter are available. - - - - - CodeDescription attributes are used to enable the FiddlerScript Editor to describe available methods, properties, fields, and events. - - - - - CodeDescription attributes should be constructed by annotating a property, method, or field. - - The descriptive string which should be displayed for this this property, method, or field - - - - The descriptive string which should be displayed for this this property, method, or field - - - - - Flags that can be passed into the Startup method - - - - - No options. - - - - - Register with WinINET as the System Proxy - - - - - Decrypt HTTPS Traffic - - - - - Accept requests from remote computers or devices. WARNING: Security Impact - - - Use caution when allowing Remote Clients to connect. If a hostile computer is able to proxy his traffic through your - FiddlerCore instance, he could circumvent IPSec traffic rules, circumvent intranet firewalls, consume memory on your PC, etc. - - - - - Set this flag to forward requests to any upstream gateway - - - - - Set this flag to set all WinINET connections to use Fiddler, otherwise only the Local LAN is pointed to Fiddler - - - - - Start FiddlerCore with the default set of options (RegisterAsSystemProxy | DecryptSSL | ChainToUpstreamGateway | MonitorAllConnections | CaptureLocalhostTraffic | OptimizeThreadPool) - - - - - A simple delegate for functions which accept no parameters. (MethodInvoker is the identical Framework version of this delegate) - - - - - An event handling delegate which is called during report calculation with the set of sessions being evaluated. - - The sessions in this report. - - - - An event handling delegate which is called as a part of the HTTP pipeline at various stages. - - The Web Session in the pipeline. - - - - This class acts as the central point for script/extensions to interact with Fiddler components. - - - - - TRUE if Fiddler is currently shutting down. Suspend all work that won't have side-effects. - - - - - The default certificate used for client authentication - - - - - Fiddler's "Janitor" clears up unneeded resources (e.g. server sockets, DNS entries) - - - - - Gets Fiddler* version info - - A string indicating the build/flavor of the Fiddler* assembly - - - - Set the DisplayName for the application - - 1 to 64 character name to be displayed in error messages, etc - - - - Returns Help/About information. - - Display string describing the current Fiddler instance. - - - - Fiddler's core proxy object. - - - - - Fiddler Import/Export Transcoders - - - - - List of "leaked" temporary files to be deleted as Fiddler exits. - - - - - Checks if FiddlerCore is running. - - TRUE if FiddlerCore is started/listening; FALSE otherwise. - - - - Checks if FiddlerCore is running and registered as the System Proxy. - - TRUE if FiddlerCore IsStarted AND registered as the system proxy; FALSE otherwise. - - - - Recommended way to Start FiddlerCore listening on the specified port - - The port - The FiddlerCoreStartupFlags option you want to set; FiddlerCoreStartupFlags.Default is recommended - - - - Start the FiddlerCore engine; this overload is NOT RECOMMENDED - - - - - - - - Start the FiddlerCore engine; this overload is NOT RECOMMENDED - - Port to Listen on. - Boolean indicating if FiddlerCore should register as the system proxy. - Boolean indicating if FiddlerCore should decrypt secure traffic. If true, requires MakeCert.exe in the Application folder. - Boolean indicating if FiddlerCore should accept connections from remote computers. Note: You must ensure Firewall is configured to allow such connections to your program. - - - - Start a new proxy endpoint instance, listening on the specified port - - The port to listen on - TRUE if remote clients should be permitted to connect to this endpoint - A Hostname (e.g. EXAMPLE.com) if this endpoint should be treated as a HTTPS Server - A Proxy object, or null if unsuccessful - - - - Start a new proxy endpoint instance, listening on the specified port - - The port to listen on - TRUE if remote clients should be permitted to connect to this endpoint - A certificate to return when clients connect, or null - A Proxy object, or null if unsuccessful - - - - Shuts down the FiddlerCore proxy and disposes it. Note: If there's any traffic in progress while you're calling this method, - your background threads are likely to blow up with ObjectDisposedExceptions or NullReferenceExceptions. In many cases, you're - better off simply calling oProxy.Detach() and letting the garbage collector clean up when your program exits. - - - - - Notify a listener that a block of a response was read. - - The session for which the response is being read - byte buffer (not completely full) - bytes set. - FALSE if AbortReading was set - - - - Notify a listener that a block of a request was read. Note that this event may fire with overlapping blocks of data but - different sessions if the client uses HTTP Pipelining. - - The session for which the response is being read - byte buffer (not completely full) - bytes set. - FALSE if AbortReading was set - - - - Export Sessions in the specified format - - Shortname of desired format - Sessions to export - Options to pass to the ISessionExport interface - Your callback event handler, or NULL to allow Fiddler to handle - TRUE if successful, FALSE if desired format doesn't exist or other error occurs - - - - Calls a Fiddler Session Importer and returns the list of loaded Sessions. - - String naming the Import format, e.g. HTTPArchive - Should sessions be added to WebSessions list? (Not meaningful for FiddlerCore) - Dictionary of Options to pass to the Transcoder - Your callback event handler, or NULL to allow Fiddler to handle - Loaded Session[], or null on Failure - - - - Reset the SessionID counter to 0. This method can lead to confusing UI, so call sparingly. - - - - - Log a notification to the OnNotification handler and, if not in quiet mode, show a MessageBox - - Window to which this notification should be parented, or null - Text in the Window - Title of the Window - Icon for the window - - - - Report an exception to the user. - - The Exception - The Title of the dialog - - - - Report an exception to the user. - - The Exception - The Title of the dialog - The intro text to show. If null or empty, the default "Fiddler has encountered an unexpected... " message is shown. - - - - Show the user a message when an HTTP Error was encountered - - Session with error - Set to true to prevent pooling/reuse of client connection - The SessionFlag which should be set to log this violation - Set to true to prevent pooling/reuse of server connection - Information about the problem - - - - Process ID of this Fiddler instance - - - - - processname:PID of Fiddler - - - - - We really don't want this method to get inlined, because that would cause the Xceed DLLs to get loaded in the Main() function instead - of when _SetXceedLicenseKeys is called; that, in turn, would delay the SplashScreen. - - - - - Used to track errors with addons. - - - - - - - Record that a temporary file was created and handed to an external tool. We'll do our best to delete this file on exit. - - The filename of the file to be deleted - - - - Clean up any Temporary files that were created - - - - - Does this Fiddler instance support the specified feature? - - Feature name (e.g. "bzip2") - TRUE if the specified feature is supported; false otherwise - - - - Fiddler's logging system - - - - - Fiddler's Preferences collection. Learn more at http://fiddler.wikidot.com/prefs - - - - - This event fires each time FiddlerCore reads data from network for the server's response. Note that this data - is not formatted in any way, and must be parsed by the recipient. - - - - - This event fires each time FiddlerCore reads data from network for the client's request. Note that this data - is not formatted in any way, and must be parsed by the recipient. - - - - - This event fires when a client request is received by Fiddler - - - - - This event fires when a server response is received by Fiddler - - - - - This event fires when Request Headers are available - - - - - This event fires when Response Headers are available - - - - - This event fires when an error response is generated by Fiddler - - - - - This event fires when Fiddler captures a WebSocket message - - - - - This event fires when a session has been completed - - - - - Sync this event to be notified when FiddlerCore has attached as the system proxy.")] - - - - - Sync this event to be notified when FiddlerCore has detached as the system proxy. - - - - - Fired each time Fiddler successfully establishes a TCP/IP connection - - - - - Fired each time Fiddler successfully accepts a TCP/IP connection - - - - - The Socket which was just Connected or Accepted - - - - - The Session which owns the this new connection - - - - - EventArgs class for the OnNotification handler - - - - - The string message of the notification - - - - - Enumeration of possible responses specified by the ValidateServerCertificateEventArgs as modified by FiddlerApplication's OnValidateServerCertificate event - - - - - The certificate will be considered valid if CertificatePolicyErrors == SslPolicyErrors.None, otherwise the certificate will be invalid unless the user manually allows the certificate. - - - - - The certificate will be confirmed with the user even if CertificatePolicyErrors == SslPolicyErrors.None. - Note: FiddlerCore does not support user-prompting and will always treat this status as ForceInvalid. - - - - - Force the certificate to be considered Invalid, regardless of the value of CertificatePolicyErrors. - - - - - Force the certificate to be considered Valid, regardless of the value of CertificatePolicyErrors. - - - - - These EventArgs are passed to the FiddlerApplication.OnValidateServerCertificate event handler when a server-provided HTTPS certificate is evaluated - - - - - EventArgs for the ValidateServerCertificateEvent that allows host to override default certificate handling policy - - The session - The CN expected for this session - The certificate provided by the server - The certificate chain of that certificate - Errors from default validation - - - - The port to which this request was targeted - - - - - The SubjectCN (e.g. Hostname) that should be expected on this HTTPS connection, based on the request's Host property. - - - - - The Session for which a HTTPS certificate was received. - - - - - The server's certificate chain. - - - - - The SslPolicyErrors found during default certificate evaluation. - - - - - Set this property to override the certificate validity - - - - - The X509Certificate provided by the server to vouch for its authenticity - - - - - These EventArgs are constructed when FiddlerApplication.OnClearCache is called. - - - - - Constructs the Event Args - - Should Cache Files be cleared? - Should Cookies be cleared? - - - - True if the user wants cache files to be cleared - - - - - True if the user wants cookies to be cleared - - - - - When the FiddlerApplication.OnReadResponseBuffer event fires, the raw bytes are available via this object. - - - - - Set to TRUE to request that upload or download process be aborted as soon as convenient - - - - - Session for which this responseRead is occurring - - - - - Byte buffer returned from read. Note: Always of fixed size, check iCountOfBytes to see which bytes were set - - - - - Count of latest read from Socket. If less than 1, response was ended. - - - - - The frmPrompt class is used to get information from the client. It's primarily used by calling one of the static functions. - - - - - Required designer variable. - - - - - Get a string value from the user. - - The title of the dialog - The prompt text - The default string value - The value entered by the user (or default, if unmodified) - - - - GetUserString prompts the user for a string. - - Title of the dialog - The prompt text in the dialog - The default response - If true, will return null if user hits cancel. Else returns sDefault. - The user's result, or null if user cancelled and bReturnNullIfCancelled set. - - - - Clean up any resources being used. - - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - This FTP Gateway class is used if Fiddler is configured as the FTP proxy and there's no upstream gateway configured. - Fiddler must act as a HTTP->FTP protocol converter, which it does by using the .NET FTP classes. - - - - - Make a FTP request using the .NET FTPWebRequest class. - WARNING: This method will throw. - - Session bearing an FTP request - Returns Response body stream - Returns generated Response headers - - - - The GenericTunnel class represents a "blind tunnel" to shuffle bytes between a client and the server. - - - - - Is streaming started in the downstream direction? - - - - - Number of bytes received from the client - - - - - Number of bytes received from the server - - - - - This "Factory" method creates a new HTTPS Tunnel and executes it on a background (non-pooled) thread. - - The Session containing the HTTP CONNECT request - - - - Creates a tunnel. External callers instead use the CreateTunnel static method. - - The session for which this tunnel was initially created. - Client Pipe - Server Pipe - - - - This function keeps the thread alive until it is signaled that the traffic is complete - - - - - Executes the HTTPS tunnel inside an All-it-can-eat exception handler. - Call from a background thread. - - - - - Executes the WebSocket tunnel on a background thread - - - - - Instructs the tunnel to take over the server pipe and begin streaming responses to the client - - - - - Close the HTTPS tunnel and signal the event to let the service thread die. - WARNING: This MUST not be allowed to throw any exceptions, because it will do so on threads that don't catch them, and this will kill the application. - - - - - Called when we have received data from the local client. - Incoming data will immediately be forwarded to the remote host. - - The result of the asynchronous operation. - - - Called when we have sent data to the local client.
When all the data has been sent, we will start receiving again from the remote host.
- The result of the asynchronous operation. -
- - Called when we have sent data to the remote host.
When all the data has been sent, we will start receiving again from the local client.
- The result of the asynchronous operation. -
- - Called when we have received data from the remote host.
Incoming data will immediately be forwarded to the local client.
- The result of the asynchronous operation. -
- - - Returns number of bytes sent from the Server to the Client - - - - - Returns number of bytes sent from the Client to the Server - - - - - The HostList allows fast determination of whether a given host is in the list. It supports leading wildcards (e.g. *.foo.com), and the special tokens <local> <nonlocal> and <loopback>. - Note: List is *not* threadsafe; instead of updating it, construct a new one. - - - - - Generate an empty HostList - - - - - Create a hostlist and assign it an initial set of sites - - List of hostnames, including leading wildcards, and optional port specifier. Special tokens are *, <local>, <nonlocal>, and <loopback>. - - - - Clear the HostList - - - - - Clear the List and assign the new string as the contents of the list. - - List of hostnames, including leading wildcards, and optional port specifier. Special tokens are *, <local>, <nonlocal>, and <loopback>. - TRUE if the list was constructed without errors - - - - Clear the list and assign the new string as the contents of the list. - - List of hostnames, including leading wildcards, and optional port specifier. Special tokens are *, <local>, <nonlocal>, and <loopback>. - Outparam string containing list of parsing errors - TRUE if the list was constructed without errors - - - - Return the current list of rules as a string - - String containing current rules, using "; " as a delimiter between entries - - - - Determine if a given Host is in the list - - A Host string, potentially including a port - TRUE if the Host's hostname matches a rule in the list - - - - Determine if a given Hostname is in the list - - A hostname, NOT including a port - TRUE if the hostname matches a rule in the list - - - - Determine if a given Host:Port pair matches an entry in the list - - A hostname, NOT including the port - The port - TRUE if the hostname matches a rule in the list - - - - This private tuple allows us to associate a Hostname and a Port - - - - - Port specified in the rule - - - - - Hostname specified in the rule - - - - - Create a new HostPortTuple - - - - - HTTP Response headers object - - - - - Base class for RequestHeaders and ResponseHeaders - - - - - Get the Reader Lock if you plan to enumerate the Storage collection. - - - - - Get the Writer Lock if you plan to change the Storage collection. - NB: You only need this lock if you plan to change the collection itself; you can party on the items in the collection if you like without locking. - - - - - If you get the Writer lock, Free it ASAP or you're going to hang or deadlock the Session - - - - - Text encoding to be used when converting this header object to/from a byte array - - - - - HTTP version (e.g. HTTP/1.1) - - - - - Storage for individual HTTPHeaderItems in this header collection - NB: Using a list is important, as order can matter - - - - - Get byte count of this HTTP header instance. - NOTE: This method should've been abstract. - - Byte Count - - - - Number of HTTP headers - - Number of HTTP headers - - - - Returns all instances of the named header - - Header name - List of instances of the named header - - - - Copies the Headers to a new array. - Prefer this method over the enumerator to avoid cross-thread problems. - - An array containing HTTPHeaderItems - - - - Returns all values of the named header in a single string, delimited by commas - - Header - Each, Header's, Value - - - - Returns the count of instances of the named header - - Header name - Count of instances of the named header - - - - Enumerator for HTTPHeader storage collection - - Enumerator - - - - Adds a new header containing the specified name and value. - - Name of the header to add. - Value of the header. - Returns the newly-created HTTPHeaderItem. - - - - Adds one or more headers - - - - - Returns the Value from a token in the header. Correctly handles double-quoted strings. Requires semicolon for delimiting tokens - Limitation: FAILS if semicolon is in token's value, even if quoted. - FAILS in the case of crazy headers, e.g. Header: Blah="SoughtToken=Blah" SoughtToken=MissedMe - - We really need a "proper" header parser - - Name of the header - Name of the token - Value of the token if present; otherwise, null - - - - Determines if the Headers collection contains a header of the specified name, with any value. - - The name of the header to check. (case insensitive) - True, if the header exists. - - - - Determines if the Headers collection contains any header from the specified list, with any value. - - list of headers - True, if any named header exists. - - - - Determines if the Headers collection contains one or more headers of the specified name, and - sHeaderValue is part of one of those Headers' value. - - The name of the header to check. (case insensitive) - The partial header value. (case insensitive) - True if the header is found and the value case-insensitively contains the parameter - - - - Determines if the Headers collection contains a header of the specified name, and sHeaderValue=Header's value. Similar - to a case-insensitive version of: headers[sHeaderName]==sHeaderValue, although it checks all instances of the named header. - - The name of the header to check. (case insensitive) - The full header value. (case insensitive) - True if the header is found and the value case-insensitively matches the parameter - - - - Removes all headers from the header collection which have the specified name. - - The name of the header to remove. (case insensitive) - - - - Removes all headers from the header collection which have the specified names. - - Array of names of headers to remove. (case insensitive) - - - - Removes a HTTPHeader item from the collection - - The HTTPHeader item to be removed - - - - Removes all HTTPHeader items from the collection - - - - - Renames all headers in the header collection which have the specified name. - - The name of the header to rename. (case insensitive) - The new name for the header. - True if one or more replacements were made. - - - - Gets or sets the value of a header. In the case of Gets, the value of the first header of that name is returned. - If the header does not exist, returns null. - In the case of Sets, the value of the first header of that name is updated. - If the header does not exist, it is added. - - - - - Indexer property. Returns HTTPHeaderItem by index. Throws Exception if index out of bounds - - - - - Protect your enumeration using GetReaderLock - - - - - Protect your enumeration using GetReaderLock - - - - - Clone this HTTPResponseHeaders object and return the result cast to an Object - - The new response headers object, cast to an object - - - - Status code from HTTP Response. If setting, also set HTTPResponseStatus too! - - - - - Code AND Description of Response Status (e.g. '200 OK'). - - - - - Update the response status code and text - - HTTP Status code (e.g. 401) - HTTP Status text (e.g. "Access Denied") - - - - Constructor for HTTP Response headers object - - - - - Constructor for HTTP Response headers object - - Text encoding to be used for this set of Headers when converting to a byte array - - - - Returns a byte array representing the HTTP headers. - - TRUE if the response status line should be included - TRUE if there should be a trailing \r\n byte sequence included - Byte[] containing the headers - - - - Returns a string containing http headers - - TRUE if the response status line should be included - TRUE if there should be a trailing CRLF included - String containing http headers - - - - Returns a string containing the http headers - - - Returns a string containing http headers with a status line but no trailing CRLF - - - - - Parses a string and assigns the headers parsed to this object - - The header string - TRUE if the operation succeeded, false otherwise - - - - Gets or sets the text associated with the response code (e.g. "OK", "Not Found", etc) - - - - - HTTP Request headers object - - - - - Warning: You should protect your enumeration using the GetReaderLock - - - - - Warning: You should protect your enumeration using the GetReaderLock - - - - - Clones the HTTP request headers - - The new HTTPRequestHeaders object, cast to an object - - - - The HTTP Method (e.g. GET, POST, etc) - - - - - Constructor for HTTP Request headers object - - - - - Constructor for HTTP Request headers object - - Text encoding to be used for this set of Headers when converting to a byte array - - - - Parses a string and assigns the headers parsed to this object - - The header string - TRUE if the operation succeeded, false otherwise - - - - Returns a byte array representing the HTTP headers. - - TRUE if the HTTP REQUEST line (method+path+httpversion) should be included - TRUE if there should be a trailing \r\n byte sequence included - TRUE if the SCHEME and HOST should be included in the HTTP REQUEST LINE - The HTTP headers as a byte[] - - - - Returns a byte array representing the HTTP headers. - - TRUE if the HTTP REQUEST line (method+path+httpversion) should be included - TRUE if there should be a trailing \r\n byte sequence included - TRUE if the SCHEME and HOST should be included in the HTTP REQUEST LINE - Only meaningful if prependVerbLine is TRUE, the host to use in the HTTP REQUEST LINE - The HTTP headers as a byte[] - - - - Returns a string representing the HTTP headers. - - TRUE if the HTTP REQUEST line (method+path+httpversion) should be included - TRUE if there should be a trailing CRLF sequence included - TRUE if the SCHEME and HOST should be included in the HTTP REQUEST LINE (Automatically set to FALSE for CONNECT requests) - The HTTP headers as a string. - - - - Returns a string representing the HTTP headers, without the SCHEME+HOST in the HTTP REQUEST line - - TRUE if the HTTP REQUEST line (method+path+httpversion) should be included - TRUE if there should be a trailing CRLF sequence included - The header string - - - - Returns a string representing the HTTP headers, without the SCHEME+HOST in the HTTP request line, and no trailing CRLF - - The header string - - - - The (lowercased) URI scheme for this request (https, http, or ftp) - - - - - Username:Password info for FTP URLs. (either null or "user:pass@") - (Note: It's silly that this contains a trailing @, but whatever...) - - - - - Get or set the request path as a string - - - - - Get or set the request path as a byte array - - - - - Represents a single HTTP header - - - - - Clones a single HTTP header and returns the clone cast to an object - - HTTPHeader Name: Value pair, cast to an object - - - - The name of the HTTP header - - - - - The value of the HTTP header - - - - - Creates a new HTTP Header item. WARNING: Doesn't do any trimming or validation on the name. - - Header name - Header value - - - - Return a string of the form "NAME: VALUE" - - "NAME: VALUE" Header string - - - - Provides simple utility functions common to both ClientHello and ServerHello parsing - - - - - Gets a textual string from a TLS extension - - - - - Builds a string from an ALPN List of strings - - - - - List Sig/Hash pairs from RFC5246 - - - - - - - List defined ECC Curves from RFC4492 - - - - - - - List defined ECC Point Formats from RFC4492 - - - - - - - Converts a HTTPS version to a "Major.Minor (Friendly)" string - - - - - The HTTPSClientHello class is used to parse the bytes of a HTTPS ClientHello message. - - - - - Map cipher id numbers to names. See http://www.iana.org/assignments/tls-parameters/ - Format is PROTOCOL_KEYAGREEMENT_AUTHENTICATIONMECHANISM_CIPHER_MACPRIMITIVE - - - - - Parse a single extension using the list from http://tools.ietf.org/html/rfc6066 - http://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xml - https://src.chromium.org/viewvc/chrome/trunk/src/net/third_party/nss/ssl/sslt.h - - - - - - - Parse a single extension using the list from http://tools.ietf.org/html/rfc6066 - - - - - - - Did client use ALPN to go to SPDY? - http://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-01#section-3.1 - - - - - Did this ServerHello Handshake specify an upgrade to SPDY? - - - - - Did this ServerHello Handshake specify an upgrade to SPDY? - - - - - The Logger object is a simple event log message dispatcher - - - - - Queue of Messages that are be logged (usually during application startup) until another object has loaded and registered for notification of such Messages - - - - - Creates a Logger object - - True if a queue should be created to store messages during Fiddler's startup - - - - Flushes previously-queued messages to the newly attached listener. - - - - - Log a string with specified string formatting - - The format string - The arguments to replace in the string - - - - Log a string - - The string to log - - - - The Event to raise when a string is logged - - - - - EventArgs class for the LogEvent handler - - - - - The String which has been logged - - - - - The MockTunnel represents a CONNECT tunnel which was reloaded from a SAZ file. - - - - - Flags that indicate what problems, if any, were encountered in parsing HTTP headers - - - - - There were no problems parsing the HTTP headers - - - - - The HTTP headers ended incorrectly with \n\n - - - - - The HTTP headers ended incorrectly with \n\r\n - - - - - The HTTP headers were malformed. - - - - - The Parser class exposes static methods used to parse strings or byte arrays into HTTP messages. - - - - - Given a byte[] representing a request, determines the offsets of the components of the line. WARNING: Input MUST contain a LF or an exception will be thrown - - Byte array of the request - Returns the index of the byte of the URI in the Request line - Returns the length of the URI in the Request line - Returns the index of the first byte of the name/value header pairs - - - - - - - Index of final byte of headers, if found, or location that search should resume next time - - - - - - - Parse out HTTP Header lines. - - Header collection to *append* headers to - Array of Strings - Index into array at which parsing should start - String containing any errors encountered - TRUE if there were no errors, false otherwise - - - - Given a byte array, determines the Headers length - - Input array of data - Returns the calculated length of the headers. - Returns the calculated start of the response body. - Any HTTPHeaderParseWarnings discovered during parsing. - True, if the parsing was successful. - - - - Given a MemoryStream, attempts to parse a HTTP Request starting at the current position. - - TRUE if a request could be parsed, FALSE otherwise - - - - Given a MemoryStream, attempts to parse a HTTP Response starting at the current position - - TRUE if the response must not have a body (e.g. because Request method was HEAD) - TRUE if a response could be parsed, FALSE otherwise - - - - Parse the HTTP Request into a headers object. - - The HTTP Request string, including *at least the headers* with a trailing CRLFCRLF - HTTPRequestHeaders parsed from the string. - - - - Break headers off, then convert CRLFs into LFs - - - - - - - Parse the HTTP Response into a headers object. - - The HTTP response as a string, including at least the headers. - HTTPResponseHeaders parsed from the string. - - - - Class allows finding the end of a body sent using Transfer-Encoding: Chunked - - - - - Number of bytes in the body (sans chunk headers, CRLFs, and trailers) - - - - - - Read the first character of the hexadecimal size - - - - - Read the first character of the next Trailer header (if any) - - - - - We're in a trailer. Read up to the next \r - - - - - We've just read a trailer CR, now read its LF - - - - - We read a CR on an "empty" Trailer line, so now we just need the final LF - - - - - The chunked body was successfully read with no excess - - - - - Completed, but we read too many bytes. Call getOverage to return how many bytes to put back - - - - - The body was malformed - - - - - Somewhat similar to the Framework's "BackgroundWorker" class, the periodic worker performs a similar function on a periodic schedule. - NOTE: the callback occurs on a background thread. - - The PeriodicWorker class is used by Fiddler to perform "cleanup" style tasks on a timer. Put work in the queue, - and it will see that it's done at least as often as the schedule specified until Fiddler begins to close at which - point all work stops. - - - The underlying timer's interval is 1 second. - - - - I think a significant part of the reason that this class exists is that I thought the System.Threading.Timer consumed one thread for each - timer. In reality, per "CLR via C# 4e" all of the instances share one underlying thread and thus my concern was misplaced. Ah well. - - - - - Assigns a "job" to the Periodic worker, on the schedule specified by iMS. - - The function to run on the timer specified. - Warning: the function is NOT called on the UI thread, so use .Invoke() if needed. - The # of milliseconds to wait between runs - A taskItem which can be used to revokeWork later - - - - Revokes a previously-assigned task from this worker. - - - - - - The ScheduledTasks class allows addition of jobs by name. It ensures that ONE instance of the named - job will occur at *some* point in the future, between 0 and a specified max delay. If you queue multiple - instances of the same-named Task, it's only done once. - - - - - Under the lock, we enumerate the schedule to find work to do and remove that work from the schedule. - After we release the lock, we then do the queued work. - - - - - - A jobItem represents a Function+Time tuple. The function will run after the given time. - - - - - TickCount at which this job must run. - - - - - Method to invoke to complete the job - - - - - Abstract base class for the ClientPipe and ServerPipe classes. A Pipe represents a connection to either the client or the server, optionally encrypted using SSL/TLS. - - - - - The base socket wrapped in this pipe - - - - - The number of times that this Pipe has been used - - - - - The HTTPS stream wrapped around the base socket - - - - - The display name of this Pipe - - - - - Number of milliseconds to delay each 1024 bytes transmitted - - - - - Create a new pipe, an enhanced wrapper around a socket - - Socket which this pipe wraps - Identification string used for debugging purposes - - - - Poll the underlying socket for readable data (or closure/errors) - - TRUE if this Pipe requires attention - - - - Call this method when about to reuse a socket. Currently, increments the socket's UseCount and resets its transmit delay to 0. - - The session identifier of the new session, or zero - - - - Sends a byte array through this pipe - - The bytes - - - - Sends the data specified in oBytes (between iOffset and iOffset+iCount-1 inclusive) down the pipe. - - - - - - - - Receive bytes from the pipe into the DATA buffer. - - Throws IO exceptions from the socket/stream - Array of data read - Bytes read - - - - Return the raw socket this pipe wraps. Avoid calling this method if at all possible. - - The Socket object this Pipe wraps. - - - - Shutdown and close the socket inside this pipe. Eats exceptions. - - - - - Abruptly closes the socket by sending a RST packet - - - - - Return the Connected status of the base socket. - WARNING: This doesn't work as you might expect; you can see Connected == false when a READ timed out but a WRITE will succeed. - - - - - Returns a bool indicating if the socket in this Pipe is CURRENTLY connected and wrapped in a SecureStream - - - - - Returns the SSL/TLS protocol securing this connection - - - - - Return the Remote Port to which this socket is attached. - - - - - Return the Local Port to which the base socket is attached. Note: May return a misleading port if the ISA Firewall Client is in use. - - - - - Returns the remote address to which this Pipe is connected, or 0.0.0.0 on error. - - - - - Gets or sets the transmission delay on this Pipe, used for performance simulation purposes. - - - - - A ClientPipe wraps a socket connection to a client application. - - - - - By default, we now test for loopbackness before lookup of PID - https://github.com/telerik/fiddler/issues/83 - - - - - Timeout to wait for the *first* data from the client - - - - - Timeout to wait for the ongoing reads from the client (as headers and body are read) - - - - - Timeout before which an idle connection is closed (e.g. for HTTP Keep-Alive) - - - - - Client process name (e.g. "iexplore") - - - - - Client process ProcessID - - - - - Data which was previously "over-read" from the client. Populated when HTTP-pipelining is attempted - - - - - Does this Pipe have data (or closure/errors) to read? - - TRUE if this Pipe requires attention - - - - If you previously read more bytes than you needed from this client socket, you can put some back. - - Array of bytes to put back; now owned by this object - - - - Sets the socket's timeout based on whether we're waiting for our first read or for an ongoing read-loop - - - - - Returns a semicolon-delimited string describing this ClientPipe - - A semicolon-delimited string - - - - Perform a HTTPS Server handshake to the client. Swallows exception and returns false on failure. - - - - - - - This function sends the client socket a CONNECT ESTABLISHED, and then performs a HTTPS authentication - handshake, with Fiddler acting as the server. - - Hostname Fiddler is pretending to be (NO PORT!) - The set of headers to be returned to the client in response to the client's CONNECT tunneling request - true if the handshake succeeds - - - - ID of the process that opened this socket, assuming that Port Mapping is enabled, and the connection is from the local machine - - - - - Name of the Process referred to by LocalProcessID, or String.Empty if unknown - - - - - Timestamp of either 1> The underlying socket's creation from a .Accept() call, or 2> when this ClientPipe was created. - - - - - The PipePool maintains a collection of connected ServerPipes for reuse - - - - - Minimum idle time of pipes to be expired from the pool. - Note, we don't check the pipe's ulLastPooled value when extracting a pipe, - so its age could exceed the allowed lifetime by up to MSEC_POOL_CLEANUP_INTERVAL - WARNING: Don't change the timeout >2 minutes casually. Server bugs apparently exist: https://bugzilla.mozilla.org/show_bug.cgi?id=491541 - - - - - The Pool itself. - - - - - Time at which a "Clear before" operation was conducted. We store this - so that we don't accidentally put any pipes that were in use back into - the pool after a clear operation - - - - - Remove any pipes from Stacks if they exceed the age threshold - Remove any Stacks from pool if they are empty - - - - - Clear all pooled Pipes, calling .End() on each. - - - - - Return a string representing the Pipes in the Pool - - A string representing the pipes in the pool - - - - Get a Server connection for reuse, or null if a suitable connection is not in the pool. - - The key which identifies the connection to search for. - The ProcessID of the client requesting the Pipe - HACK to be removed; the SessionID# of the request for logging - A Pipe to reuse, or NULL - - - - Store a pipe for later use, if reuse is allowed by settings and state of the pipe. - - The Pipe to place in the pool - - - - This class holds a specialized memory stream with growth characteristics more suitable for reading from a HTTP Stream. - The default MemoryStream's Capacity will always grow to 256 bytes, then at least ~2x current capacity up to 1gb (2gb on .NET 4.6), then to the exact length after that. - That has three problems: - - The capacity may unnecessarily grow to >85kb, putting the object on the LargeObjectHeap even if we didn't really need 85kb. - On 32bit, we may hit a Address Space exhaustion ("Out of memory" exception) prematurely and unnecessarily due to size-doubling - After the capacity reaches 1gb in length, the capacity growth never exceeds the length, leading to huge reallocations and copies on every write (fixed in .NET 4.6) - - This class addresses those issues. http://textslashplain.com/2015/08/06/tuning-memorystream/ - - - - - A client may submit a "hint" of the expected size. We use that if present. - - - - - Used by the caller to supply a hint on the expected total size of reads from the pipe. - We cannot blindly trust this value because sometimes the client or server will lie and provide a - huge value that it will never use. This is common for RPC-over-HTTPS tunnels like that used by - Outlook, for instance. - - The Content-Length can also lie by underreporting the size. - - Suggested total buffer size in bytes - - - - The policy which describes how this pipe may be reused by a later request. Ordered by least restrictive to most. - - - - - The ServerPipe may be freely reused by any subsequent request - - - - - The ServerPipe may be reused only by a subsequent request from the same client process - - - - - The ServerPipe may be reused only by a subsequent request from the same client pipe - - - - - The ServerPipe may not be reused for a subsequent request - - - - - A ServerPipe wraps a socket connection to a server. - - - - - DateTime of the completion of the TCP/IP Connection - - - - - TickCount when this Pipe was last placed in a PipePool - - - - - Returns TRUE if this ServerPipe is connected to a Gateway - - - - - Returns TRUE if this ServerPipe is connected to a SOCKS gateway - - - - - The Pooling key used for reusing a previously pooled ServerPipe. See sPoolKey property. - - - - - This field, if set, tracks the process ID to which this Pipe is permanently bound; set by MarkAsAuthenticated. - NOTE: This isn't actually checked by anyone; instead the PID is added to the POOL Key - - - - - Backing field for the isAuthenticated property - - - - - String containing representation of the server's certificate chain - - - - - Server's certificate - - - - - Wraps a socket in a Pipe - - The Socket - Pipe's human-readable name - True if the Pipe is attached to a gateway - The Pooling key used for socket reuse - - - - Marks this Pipe as having been authenticated. Depending on the preference "fiddler.network.auth.reusemode" this may impact the reuse policy for this pipe - - The client's process ID, if known. - - - - Sets the receiveTimeout based on whether this is a freshly opened server socket or a reused one. - - - - - Returns a semicolon-delimited string describing this ServerPipe - - A semicolon-delimited string - - - - Returns the Server's certificate Subject CN (used by "x-UseCertCNFromServer") - - The *FIRST* CN field from the Subject of the certificate used to secure this HTTPS connection, or null if the connection is unsecure - - - - Return a string describing the HTTPS connection security, if this socket is secured - - A string describing the HTTPS connection's security. - - - - Returns a string describing how this connection is secured. - - - - - - Get the Transport Context for the underlying HTTPS connection so that Channel-Binding Tokens work correctly - - - - - - Get the user's default client cert for authentication; caching if if possible and permitted. - - - - - - This method is called by the HTTPS Connection establishment to optionally attach a client certificate to the request. - Test Page: https://tower.dartmouth.edu/doip/OracleDatabases.jspx or ClientCertificate.ms in Test folder should request on initial connection - In contrast, this one: https://roaming.officeapps.live.com/rs/roamingsoapservice.svc appears to try twice (renego) - - - - - - - - - - - This function secures an existing connection and authenticates as client. This is primarily useful when - the socket is connected to a Gateway/Proxy and we had to send a CONNECT and get a HTTP/200 Connected back before - we actually secure the socket. - http://msdn.microsoft.com/en-us/library/system.net.security.sslstream.aspx - - The Session (a CONNECT) this tunnel wraps - The CN to use in the certificate - Path to client certificate file - The HTTPS protocol version of the Client Pipe; can influence which SslProtocols we offer the server - Reference-passed integer which returns the time spent securing the connection - TRUE if the connection can be secued - - - - Return a Certificate Collection containing certificate from the specified file. - - Path to the certificate. Relative Paths will be absolutified automatically - The Certificate collection, or null - - - - Policy for reuse of this pipe - - - - - Returns TRUE if there is an underlying, mutually-authenticated HTTPS stream. - - WARNING: Results are a bit of a lie. System.NET IsMutuallyAuthenticated == true if a client certificate is AVAILABLE even - if that certificate was never SENT to the server. - - - - - Returns TRUE if this PIPE is marked as having been authenticated using a Connection-Oriented Auth protocol: - NTLM, Kerberos, or HTTPS Client Certificate. - - - - - Indicates if this pipe is connected to an upstream (non-SOCKS) Proxy. - - - - - Indicates if this pipe is connected to a SOCKS gateway - - - - - Gets and sets the pooling key for this server pipe. - - - direct->{http|https}/{serverhostname}:{serverport} - gw:{gatewayaddr:port}->* - gw:{gatewayaddr:port}->{http|https}/{serverhostname}:{serverport} - socks:{gatewayaddr:port}->{http|https}/{serverhostname}:{serverport} - - - - - Returns the IPEndPoint to which this socket is connected, or null - - - - - EventArgs for preference-change events. See http://msdn.microsoft.com/en-us/library/ms229011.aspx. - - - - - The name of the preference being added, changed, or removed - - - - - The string value of the preference, or null if the preference is being removed - - - - - Returns TRUE if ValueString=="true", case-insensitively - - - - - The IFiddlerPreferences Interface is exposed by the FiddlerApplication.Prefs object, and enables - callers to Add, Update, and Remove preferences, as well as observe changes to the preferences. - - - - - Store a boolean value for a preference - - The named preference - The boolean value to store - - - - Store an Int32 value for a preference - - The named preference - The int32 value to store - - - - Store a string value for a preference - - The named preference - The string value to store - - - - Get a preference's value as a boolean - - The Preference Name - The default value for missing or invalid preferences - A Boolean - - - - Gets a preference's value as a string - - The Preference Name - The default value for missing preferences - A string - - - - Gets a preference's value as a 32-bit integer - - The Preference Name - The default value for missing or invalid preferences - An integer - - - - Removes a named preference from storage - - The name of the preference to remove - - - - Add a Watcher that will be notified when a value has changed within the specified prefix. - - The prefix of preferences for which changes are interesting - The Event handler to notify - Returns the Watcher object added to the notification list - - - - Removes a previously-created preference Watcher from the notification queue - - The Watcher to remove - - - - Indexer. Returns the value of the preference as a string - - The Preference Name - The Preference value as a string, or null - - - - The PreferenceBag is used to maintain a threadsafe Key/Value list of preferences, persisted in the registry, and with appropriate eventing when a value changes. - - - - - Load the existing preferences from the Registry into the Preferences bag. - Note: Does not fire any events. - - - - - Serialize the existing preferences to the Registry (unless in Viewer mode). - - - - - Get a string array of the preference names - - string[] of preference names - - - - Gets a preference's value as a string - - The Preference Name - The default value if the preference is missing - A string - - - - Return a bool preference. - - The Preference name - The default value to return if the specified preference does not exist - The boolean value of the Preference, or the default value - - - - Return an Int32 Preference. - - The Preference name - The default value to return if the specified preference does not exist - The Int32 value of the Preference, or the default value - - - - Update or create a string preference. - - The name of the Preference - The value to assign to the Preference - - - - Update or create a Int32 Preference - - The name of the Preference - The value to assign to the Preference - - - - Update or create a Boolean preference. - - The name of the Preference - The value to assign to the Preference - - - - Delete a Preference from the collection. - - The name of the Preference to be removed. - - - - Remove all Watchers - - - - - Remove all watchers and write the registry. - - - - - Return a description of the contents of the preference bag - - Multi-line string - - - - Return a string-based serialization of the Preferences settings. - - TRUE for a multi-line format with all preferences - String - - - - Returns a CRLF-delimited string containing all Preferences whose Name case-insensitively contains the specified filter string. - - Partial string to match - A string - - - - Add a watcher for changes to the specified preference or preference branch. - - Preference branch to monitor, or String.Empty to watch all - The EventHandler accepting PrefChangeEventArgs to notify - Returns the PrefWatcher object which has been added, store to pass to RemoveWatcher later. - - - - Remove a previously attached Watcher - - The previously-specified Watcher - - - - This function executes on a single background thread and notifies any registered - Watchers of changes in preferences they care about. - - A string containing the name of the Branch that changed - - - - Spawn a background thread to notify any interested Watchers of changes to the Target preference branch. - - The arguments to pass to the interested Watchers - - - - Returns a string naming the current profile - - - - - Indexer into the Preference collection. - - The name of the Preference to update/create or return. - The string value of the preference, or null. - - - - A simple struct which contains a Branch identifier and EventHandler - - - - - This class allows fast-lookup of a ProcessName from a ProcessID. - - - - - Static constructor which registers for cleanup - - - - - Prune the cache of expiring PIDs - - - - - Map a Process ID (PID) to a Process Name - - The PID - A Process Name (e.g. IEXPLORE.EXE) or String.Empty - - - - Structure mapping a Process ID (PID) to a ProcessName - - - - - The TickCount when this entry was created - - - - - The ProcessName (e.g. IEXPLORE.EXE) - - - - - Create a PID->ProcessName mapping - - The ProcessName (e.g. IEXPLORE.EXE) - - - - The core proxy object which accepts connections from clients and creates session objects from those connections - - - - - The RegistryWatcher is used to monitor changes in the WinINET Proxy registry keys - to detect premature detaches. - - - - - Hostname if this Proxy Endpoint is terminating HTTPS connections - - - - - Certificate if this Proxy Endpoint is terminating HTTPS connections - - - - - Per-connectoid information about each WinINET connectoid - - - - - The default WinINET proxy as determined upon Fiddler startup. - - - - - The WinHTTP AutoProxy object, created if we're using WPAD or a PAC Script as a gateway - - - - - Allow binding to a specific egress adapter: "fiddler.network.egress.ip" - - - - - Watcher for Notification of Preference changes - - - - - Server connections may be pooled for performance reasons. - - - - - The Socket Endpoint on which this proxy receives requests - - - - - Flag indicating that Fiddler is in the process of detaching... - - - - - List of hosts which should bypass the upstream gateway - - - - - Returns a string of information about this instance and the ServerPipe reuse pool - - A multiline string - - - - Change the outbound IP address used to send traffic - - - - - - Watch for relevent changes on the Preferences object - - - - - - - Called whenever Windows reports that the system's NetworkAddress has changed - - - - - - - Called by Windows whenever network availability goes up or down. - - - - - - - Directly inject a session into the Fiddler pipeline, returning a reference to it. - NOTE: This method will THROW any exceptions to its caller. - - String representing the HTTP request. If headers only, be sure to end with CRLFCRLF - StringDictionary of Session Flags (or null) - The new session - - - - [DEPRECATED] Directly inject a session into the Fiddler pipeline. - NOTE: This method will THROW any exceptions to its caller. - - - HTTP Request Headers - HTTP Request body (or null) - StringDictionary of Session Flags (or null) - - - - [DEPRECATED] Directly inject a session into the Fiddler pipeline. - NOTE: This method will THROW any exceptions to its caller. - - - String representing the HTTP request. If headers only, be sure to end with CRLFCRLF - StringDictionary of Session Flags (or null) - - - - [DEPRECATED]: This version does no validation of the request data, and doesn't set SessionFlags.RequestGeneratedByFiddler - Send a custom HTTP request to Fiddler's listening endpoint (127.0.0.1:8888 by default). - NOTE: This method will THROW any exceptions to its caller and blocks the current thread. - - - String representing the HTTP request. If headers only, be sure to end with CRLFCRLF - - - - This function, when given a scheme host[:port], returns the gateway information of the proxy to forward requests to. - - URIScheme: use http, https, or ftp - Host for which to return gateway information - IPEndPoint of gateway to use, or NULL - - - - Accept the connection and pass it off to a handler thread - - - - - - Register as the system proxy for WinINET and set the Dynamic registry key for other FiddlerHook - - True if the proxy registration was successful - - - - If we get a notice that the proxy registry key has changed, wait 50ms and then check to see - if the key is pointed at us. If not, raise the alarm. - - - - - - - If we are supposed to be "attached", we re-verify the registry keys, and if they are corrupt, notify - our host of the discrepency. - - - - - This method sets up the connectoid list and updates gateway information. Called by the Attach() method, or - called on startup if Fiddler isn't configured to attach automatically. - - - - - Given an address list, walks the list until it's able to successfully make a connection. - Used for finding an available Gateway when we have a list to choose from - - A string, e.g. PROXY1:80 - The IP:Port of the first alive endpoint for the specified host/port - - - - Set internal fields pointing at upstream proxies. - - - - - Sets a registry key which indicates that Fiddler is in "Connected" mode. Used by the FiddlerHook Add-on - - TRUE if fiddler is Connected - - - - Detach the proxy by setting the registry keys and sending a Windows Message - - True if the proxy settings were successfully detached - - - - Detach the proxy by setting the registry keys and sending a Windows Message - - True if the proxy settings were successfully detached - - - - Stop the proxy by closing the socket. - - - - - Start the proxy by binding to the local port and accepting connections - - Port to listen on - TRUE to allow remote connections - - - - - Dispose Fiddler's listening socket - - - - - Clear the pool of Server Pipes. May be called by extensions. - - - - - Assign HTTPS Certificate for this endpoint - - Certificate to return to clients who connect - - - - Sets the upstream gateway to match the specified ProxyInfo - - - - - - Generate or find a certificate for this endpoint - - Subject FQDN - TRUE if the certificate could be found/generated, false otherwise - - - - Return a simple string indicating what upstream proxy/gateway is in use. - - - - - - Show a message box indicating what upstream gateway/proxy is in use - - - - - The port on which this instance is listening - - - - - Returns true if Fiddler believes it is currently registered as the Local System proxy - - - - - This event handler fires when Fiddler detects that it is (unexpectedly) no longer the system's registered proxy - - - - - This class maintains the Proxy Bypass List for the upstream gateway. - In the constructor, pass the desired proxy bypass string, as retrieved from WinINET for the Fiddler Options screen. - Then, call the IsBypass(sTarget) method to determine if the Gateway should be bypassed - - - - - List of regular expressions for matching against request Scheme://HostPort. - NB: This list is either null or contains at least one item. - - - - - Boolean flag indicating whether the bypass list contained a <local> token. - - - - - Pass the desired proxy bypass string retrieved from WinINET. - - - - - - Given the rules for this bypasslist, should this target bypass the proxy? - - The URI Scheme - The Host and PORT - True if this request should not be sent to the gateway proxy - - - - Convert the string representing the bypass list into an array of rules escaped and ready to be turned into regular expressions - - - - - - Does the bypassList contain any rules at all? - - - - - The DisplayName for this Connection - - - - - Is this Connectoid expected to be pointed at Fiddler? - - - - - The proxy settings collected from this connection before Fiddler was attached. - - - - - The WinINET Connectoids class contains the RAS/WinINET "connectoids" seen inside IE's Tools > Internet Options > Connections. - This class exposes methods to retrieve and update the proxy information for each connectoid in the list. - - - TODO: The methods of the class are not thread-safe and probably should be. - TODO: Need to refactor visibility here. Right now, _oConnectoids is (internal) instead of (private) because the - Options dialog iterates the list. And about:connectoids wants access too. Eventually ought to wrap as a ReadOnlyCollection getter - - - - - Dictionary of all Connectoids, indexed by the Connectoid's Name - - - - - Expensive Call. Enumerates all Connectoids using the RAS APIs, then determines the proxy information - for each connectoid. - - - - - Return the configured default connectoid's proxy information. - - Either proxy information from "DefaultLAN" or the user-specified connectoid - - - - Called when direct Registry groveling determines that the Default LAN connection's proxy was changed but InternetQueryOption - hasn't yet noticed. - - - - - Enumerates all of the connectoids and determines if the bIsHooked field is incorrect. If so, correct the value - and return TRUE to indicate that work was done. - - The Proxy:Port string to look for (e.g. Config.FiddlerListenHostPort) - TRUE if any of the connectoids' Hook state was inaccurate. - - - - Updates all (or CONFIG.sHookConnectionNamed-specified) connectoids to point at the argument-provided proxy information. - - The proxy info to set into the Connectoid - TRUE if updating at least one connectoid was successful - - - - Restore original proxy settings for any connectoid we changed. - - FALSE if any connectoids failed to unhook - - - - Watch a registry key for changes to its values. - - The Registry Hive in which the key lives - The key, e.g. \Software\Microsoft\Fiddler2\ - The Event Handler to invoke when a change occurs. - A new RegistryWatcher object. - - - - Start monitoring. - - - - - Stops the monitoring thread. - - - - - Fires when the specified registry key has changed. - - - - - The ServerChatter object is responsible for transmitting the Request to the destination server and retrieving its Response. - - - This class maintains its own PipeReadBuffer that it fills from the created or reused ServerPipe. After it determines that - a complete response is present, it allows the caller to grab that array using the TakeEntity method. If - unsatisfied with the result (e.g. a network error), the caller can call Initialize() and SendRequest() again. - - - - - Size of buffer passed to pipe.Receive when reading from the server - - - PERF: Currently, I use [32768]; but I'd assume bigger buffers are faster. Does ReceiveBufferSize/SO_RCVBUF figure in here? - Anecdotal data suggests that current reads rarely fill the full 32k buffer. - - - - - Interval, in milliseconds, after which Fiddler will check to see whether a response should continue to be read. Otherwise, - a never-ending network stream can accumulate ever larger amounts of data that will never be seen by the garbage collector. - - - - - The pipeServer represents Fiddler's connection to the server. - - - - - The session to which this ServerChatter belongs - - - - - The inbound headers on this response - - - - - Indicates whether this request was sent to a (non-SOCKS) Gateway, which influences whether the protocol and host are - mentioned in the Request line - When True, the session should have SessionFlags.SentToGateway set. - - - - - Buffer holds this response's data as it is read from the pipe. - - - - - - Pointer to first byte of Entity body (or to the start of the next set of headers in the case where there's a HTTP/1xx intermediate header) - Note: This gets reset to 0 if we're streaming and dropping the response body. - - - - - Optimization: tracks how far we've looked into the Request when determining iEntityBodyOffset - - - - - True if final (non-1xx) HTTP Response headers have been returned to the client. - - - - - Indicates how much of _responseData buffer has already been streamed to the client - - - - - Position in responseData of the start of the latest parsed chunk size information - - - - - Locals used by the Connect-to-Host state machine - - - - - Create a ServerChatter object and initialize its headers from the specified string - - - - - - - Reset the response-reading fields on the object. Also used on a retry. - - If TRUE, allocates a buffer (m_responseData) to read from a pipe. If FALSE, nulls m_responseData. - - - - Peek at the current response body and return it as an array - - The response body as an array, or byte[0] - - - - Get the response body byte array from the PipeReadBuffer, then dispose of it. - - WARNING: This eats all of the bytes in the Pipe, even if that includes bytes of a - future, as-yet-unrequested response. Fiddler does not pipeline requests, so that works okay for now. - For now, the caller should validate that the returned entity is of the expected size (e.g. based on Content-Length) - - - - - Scans responseData stream for the \r\n\r\n (or variants) sequence - which indicates that the header block is complete. - - SIDE EFFECTS: - iBodySeekProgress is updated and maintained across calls to this function - iEntityBodyOffset is updated if the end of headers is found - - True, if responseData contains a full set of headers - - - - Parse the HTTP Response into Headers and Body. - - - - - - Attempt to pull the final (non-1xx) Headers from the stream. If HTTP/100 messages are found, the method - will recurse into itself to find the next set of headers. - - - - - Deletes a single HTTP/1xx header block from the Response stream - and adjusts all header-reading state to start over from the top of the stream. - Note: If 'fiddler.network.leakhttp1xx' is TRUE, then the 1xx message will have been leaked before calling this method. - - - - - Adjusts PipeServer's ReusePolicy if response headers require closure. Then calls _detachServerPipe() - - - - - Queues or End()s the ServerPipe, depending on its ReusePolicy - - - - - Determines whether a given PIPE is suitable for a given Session, based on that Session's SID - - The Client Process ID, if any - The base (no PID) PoolKey expected by the session - The pipe's pool key - TRUE if the connection should be used, FALSE otherwise - - - - If a Connection cannot be established, we need to report the failure to our caller - - - - - - Given an address list and port, attempts to create a socket to the first responding host in the list (retrying via DNS Failover if needed). - - IPEndpoints to attempt to reach - Session object to annotate with timings and errors - Connected Socket. Throws Exceptions on errors. - - - - If the Session was configured to stream the request body, we need to read from the client - and send it to the server here. - - - FALSE on transfer error, TRUE otherwise. - - - - - Sends (or resends) the Request to the server or upstream proxy. If the request is a CONNECT and there's no - gateway, this method ~only~ establishes the connection to the target, but does NOT send a request. - - Note: THROWS on failures - - - - - May request be resent on a different connection because the .Send() of the request did not complete? - - TRUE if the request may be resent - - - - Performs a SOCKSv4A handshake on the socket - - - - - Build the SOCKS4 outbound connection handshake as a byte array. - http://en.wikipedia.org/wiki/SOCKS#SOCKS4a - - - - - Replaces body with an error message - - Error to send if client was remote - Error to send if cilent was local - - - - The Session object will call this method if it wishes to stream a file from disk instead - of loading it into memory. This method sets default headers. - - - - - - Loads a HTTP response from a file - - The name of the file from which a response should be loaded - False if the file wasn't found. Throws on other errors. - - - - Reads the response from the ServerPipe. - - TRUE if a response was read - - - - When the headers first arrive, update bBufferResponse based on their contents. - - - - - Detects whether this is an direct FTP request and if so executes it and returns true. - - FALSE if the request wasn't FTP or wasn't direct. - - - - Remove from memory the response data that we have already returned to the client. - - - - - Remove from memory the response data that we have already returned to the client, up to the last chunk - size indicator, which we need to keep around for chunk-integrity purposes. - - - - - Leak the current bytes of the response to client. We wait for the full header - set before starting to stream for a variety of impossible-to-change reasons. - - Returns TRUE if response bytes were leaked, false otherwise (e.g. write error). THROWS if "fiddler.network.streaming.abortifclientaborts" is TRUE - - - - Mark this connection as non-reusable - - - - - Peek at number of bytes downloaded thus far. - - - - - Get the MIME type (sans Character set or other attributes) from the HTTP Content-Type response header, or String.Empty if missing. - - - - - DEPRECATED: You should use the Timers object on the Session object instead. - The number of milliseconds between the start of sending the request to the server to the first byte of the server's response - - - - - DEPRECATED: You should use the Timers object on the Session object instead. - The number of milliseconds between the start of sending the request to the server to the last byte of the server's response. - - - - - Was this request forwarded to a gateway? - - - - - Was this request serviced from a reused server connection? - - - - - The HTTP headers of the server's response - - - - - Simple indexer into the Response Headers object - - - - - The ExecutionState object holds information that is used by the Connect-to-Host state machine - - - - - The Session object manages the complete HTTP session including the UI listitem, the ServerChatter, and the ClientChatter. - - - - - Should we try to use the SPNToken type? - Cached for performance reasons. - ISSUE: It's technically possible to use FiddlerCorev2/v3 on .NET/4.5 but we won't set this field if you do that. - - - - - Sorta hacky, we may use a .NET WebRequest object to generate a valid NTLM/Kerberos response if the server - demands authentication and the Session is configured to automatically respond. - - - - - Used if the Session is bound to a WebSocket or CONNECTTunnel - - - - - File to stream if responseBodyBytes is null - - - - - DO NOT USE. TEMPORARY WHILE REFACTORING VISIBILITY OF MEMBERS - - - - - - - Sets or unsets the specified SessionFlag(s) - - SessionFlags - Desired set value - - - - Test the session's BitFlags - - One or more (OR'd) SessionFlags - TRUE if ALL specified flag(s) are set - - - - Test the session's BitFlags - - One or more (OR'd) SessionFlags - TRUE if ANY of specified flag(s) are set - - - - When a client socket is reused, this field holds the next Session until its execution begins - - - - - Should response be buffered for tampering. - - ARCH: This should have been a property instead of a field, so we could throw an InvalidStateException if code tries to manipulate this value after the response has begun - - - - Timers stored as this Session progresses - - - - - Field is set to False if socket is poisoned due to HTTP errors. - - - - - Object representing the HTTP Response. - - - - - Object representing the HTTP Request. - - - - - Fiddler-internal flags set on the Session. - - TODO: ARCH: This shouldn't be exposed directly; it should be wrapped by a ReaderWriterLockSlim to prevent - exceptions while enumerating the flags for storage, etc - - - - Contains the bytes of the request body. - - - - - Contains the bytes of the response body. - - - - - IP Address of the client for this session. - - - - - Client port attached to Fiddler. - - - - - IP Address of the server for this session. - - - - - Event object used for pausing and resuming the thread servicing this session - - - - - Returns TRUE if the Session's HTTP Method is available and matches the target method. - - The target HTTP Method being compared. - true, if the method is specified and matches sTestFor (case-insensitive); otherwise false. - - - - Returns TRUE if the Session's target hostname (no port) matches sTestHost (case-insensitively). - - The host to which this session's host should be compared. - True if this session is targeted to the specified host. - - - - Replaces any characters in a filename that are unsafe with safe equivalents, and trim to 160 characters. - - - - - - - Examines the MIME type, and if ambiguous, returns sniffs the body. - - - - - - Notify extensions if this Session naturally led to another (e.g. due to redirect chasing or Automatic Authentication) - - The original session - The new session created - - - - Returns HTML representing the Session. Call Utilities.StringToCF_HTML on the result of this function before placing it on the clipboard. - - TRUE if only the headers should be copied. - A HTML-formatted fragment representing the current session. - - - - Store this session's request and response to a string. - - If true, return only the request and response headers - String representing this session - - - - Store this session's request and response to a string. - - A string containing the content of the request and response. - - - - This method resumes the Session's thread in response to "Continue" commands from the UI - - - - - Set the SessionFlags.Ignore bit for this Session, also configuring it to stream, drop read data, and bypass event handlers. - For a CONNECT Tunnel, traffic will be blindly shuffled back and forth. Session will be hidden. - - - - - Called by an AcceptConnection-spawned background thread, create a new session object from a client socket - and execute the session - - Parameter object defining client socket and endpoint's HTTPS certificate, if present - - - - Call this method to AuthenticateAsServer on the client pipe (e.g. Fiddler itself is acting as a HTTPS server). - If configured, the pipe will first sniff the request's TLS ClientHello ServerNameIndicator extension. - - The default certificate to use - TRUE if a HTTPS handshake was achieved; FALSE for any exceptions or other errors. - - - - Call this function while in the "reading response" state to update the responseBodyBytes array with - the partially read response. - - TRUE if the peek succeeded; FALSE if not in the ReadingResponse state - - - - Prevents the server pipe from this session from being pooled for reuse - - - - - Ensures that, after the response is complete, the client socket is closed and not reused. - Does NOT (and must not) close the pipe. - - - - - Immediately close client and server sockets. Call in the event of errors-- doesn't queue server pipes for future reuse. - - - - - - Closes both client and server pipes and moves state to Aborted; unpauses thread if paused. - - - - - Save HTTP response body to Fiddler Captures folder. You likely want to call utilDecodeResponse first. - - True if the response body was successfully saved - - - - Save HTTP response body to specified location. You likely want to call utilDecodeResponse first. - - The name of the file to which the response body should be saved. - True if the file was successfully written. - - - - Save the request body to a file. You likely want to call utilDecodeRequest first. - - The name of the file to which the request body should be saved. - True if the file was successfully written. - - - - Save the request and response to a single file. - - The filename to which the session should be saved. - TRUE if only the headers should be written. - - - - Save the request to a file. - The headers' Request Line will not contain the scheme or host, which is probably not what you want. - - The name of the file to which the request should be saved. - TRUE to save only the headers - - - - Save the request to a file. Throws if file cannot be written. - - The name of the file to which the request should be saved. - TRUE to save only the headers. - TRUE to include the Scheme and Host in the Request Line. - - - - Read metadata about this session from a stream. NB: Closes the Stream when done. - - The stream of XML text from which session metadata will be loaded. - True if the Metadata was successfully loaded; False if any exceptions were trapped. - - - - Writes this session's metadata to a file. - - The name of the file to which the metadata should be saved in XML format. - True if the file was successfully written. - - - - Saves the response (headers and body) to a file - - The File to write - TRUE if only heaers should be written - - - - Write the metadata about this Session to a stream. The Stream is left open! - - The Stream to write to - - - - Write the session's Request to the specified stream - - TRUE if only the headers should be be written - TRUE if the Scheme and Host should be written in the Request Line - The Stream to which the request should be written - True if the request was written to the stream. False if the request headers do not exist. Throws on other stream errors. - - - - Write the session's Request to the specified stream - - TRUE if only the headers should be be written - TRUE if the Scheme and Host should be written in the Request Line - TRUE if binary bodies should be encoded in base64 for text-safe transport (e.g. used by Composer drag/drop) - The Stream to which the request should be written - True if the request was written to the stream. False if the request headers do not exist. Throws on other stream errors. - - - - Write the session's Response to the specified stream - - The stream to which the response should be written - TRUE if only the headers should be written - TRUE if the response was written to the stream. False if the response headers do not exist. Throws on other stream errors. - - - - Write the session to the specified stream - - The stream to which the session should be written - TRUE if only the request and response headers should be written - False on any exceptions; True otherwise - - - - Replace HTTP request body using the specified file. - - The file containing the request - True if the file was successfully loaded as the request body - - - - Replace HTTP response headers and body using the specified stream. - - The stream containing the response. - True if the Stream was successfully loaded. - - - - Replace HTTP response headers and body using the specified file. - - The file containing the response. - True if the file was successfully loaded. - - - - Return a string generated from the request body, decoding it and converting from a codepage if needed. Throws on errors. - - A string containing the request body. - - - - Return a string generated from the response body, decoding it and converting from a codepage if needed. Throws on errors. - - A string containing the response body. - - - - Find the text encoding of the request - WARNING: Will not decompress body to scan for indications of the character set - - Returns the Encoding of the requestBodyBytes - - - - Find the text encoding of the response - WARNING: Will not decompress body to scan for indications of the character set - - The Encoding of the responseBodyBytes - - - - Returns true if the absolute request URI contains the specified string. Case-insensitive. - - Case-insensitive string to find - TRUE if the URI contains the string - - - - Removes chunking and HTTP Compression from the Response. Adds or updates Content-Length header. - - Returns TRUE if the response was decoded; returns FALSE on failure, or if response didn't have headers that showed encoding. - - - - Removes chunking and HTTP Compression from the Response. Adds or updates Content-Length header. - - TRUE if error messages should be suppressed. False otherwise. - TRUE if the decoding was successsful. - - - - Removes chunking and HTTP Compression from the Request. Adds or updates Content-Length header. - - Returns TRUE if the request was decoded; returns FALSE on failure, or if request didn't have headers that showed encoding. - - - - Use GZIP to compress the request body. Throws exceptions to caller. - - TRUE if compression succeeded - - - - Use GZIP to compress the response body. Throws exceptions to caller. - - TRUE if compression succeeded - - - - Use DEFLATE to compress the response body. Throws exceptions to caller. - - TRUE if compression succeeded - - - - Use BZIP2 to compress the response body. Throws exceptions to caller. - - TRUE if compression succeeded - - - - Introduces HTTP Chunked encoding on the response body - - The number of chunks to try to create - TRUE if the chunking could be performed. - - - - Perform a string replacement on the request body. Adjusts the Content-Length header if needed. - - The case-sensitive string to search for. - The text to replace. - TRUE if one or more replacements occurred. - - - - Call inside OnBeforeRequest to create a response object and bypass the server. - - - - - Perform a regex-based string replacement on the response body. Adjusts the Content-Length header if needed. - - The regular expression used to search the body. Specify RegEx Options via leading Inline Flags, e.g. (?im) for case-Insensitive Multi-line. - The text or expression used to replace - TRUE if replacements occured - - - - Perform a string replacement on the response body (potentially multiple times). Adjust the Content-Length header if needed. - - String to find (case-sensitive) - String to use to replace - TRUE if replacements occurred - - - - Perform a one-time string replacement on the response body. Adjust the Content-Length header if needed. - - String to find (case-sensitive) - String to use to replace - TRUE for Case-Sensitive - TRUE if a replacement occurred - - - - Replaces the request body with sString. Sets Content-Length header and removes Transfer-Encoding/Content-Encoding. - - The desired request Body as a string - - - - Replaces the response body with sString. Sets Content-Length header and removes Transfer-Encoding/Content-Encoding - - The desired response Body as a string - - - - Add a string to the top of the response body, updating Content-Length. (Call utilDecodeResponse first!) - - The string to prepend - - - - Find a string in the request body. Return its index, or -1. - - Term to search for - Require case-sensitive match? - Location of sSearchFor,or -1 - - - - Find a string in the response body. Return its index, or -1. - - Term to search for - Require case-sensitive match? - Location of sSearchFor,or -1 - - - - Reset the SessionID counter to 0. This method can lead to confusing UI, so use sparingly. - - - - - Create a Session object from two byte[] representing request and response. - - The client data bytes - The server data bytes - - - - Create a Session object from a (serializable) SessionData object - - - - - - Create a Session object from two byte[] representing request and response. This is used when loading a Session Archive Zip. - - The client data bytes - The server data bytes - SessionFlags for this session - - - - Creates a new session and attaches it to the pipes passed as arguments - - The client pipe from which the request is read and to which the response is written. - The server pipe to which the request is sent and from which the response is read. May be null. - - - - Initialize a new session from a given request headers and body request builder data. Note: No Session ID is assigned here. - - NB: If you're copying an existing request, use oRequestHeaders.Clone() - The bytes of the request's body - - - - Copy Constructor. - - Session to clone into a new Session instance - - - - Factory constructor - - - - - - - - - - - - Called when the Session is ready to begin processing. Eats exceptions to prevent unhandled exceptions on background threads from killing the application. - - Unused parameter (required by ThreadPool) - - - - Current step in the SessionProcessing State Machine - - - - - InnerExecute() implements Fiddler's HTTP Pipeline - - - - - Initiate bi-directional streaming on the RPC connection - - - - - Ensure that the Session's state is >= ss, updating state if necessary - - TargetState - - - - May this Session be resent on a different connection because reading of the response did not succeed? - - TRUE if the entire session may be resent on a new connection - - - - If the response demands credentials and the Session is configured to have Fiddler provide those - credentials, try to do so now. - - TRUE if Fiddler has generated a response to an Auth challenge; FALSE otherwise. - - - - This method will perform obtain authentication credentials from System.NET using a reflection trick to grab the internal value. - It's needed to cope with Channel-Binding-Tokens (CBT). - - This MUST live within its own non-inlined method such that when it's run on an outdated version of the .NET Framework, the outdated - version of the target object triggers a TypeLoadException in such a way that the caller can catch it and warn the user without - killing Fiddler.exe. - - TRUE if we didn't hit any exceptions - - - - Copies process-owner information from a source session to a destination session. Used during handling of AutoRedirects - and auto-Authentications - - - - - - Returns a Kerberos-usable SPN for the target - http://dev.chromium.org/developers/design-documents/http-authentication - "HttpAuthHandlerNegotiate::CreateSPN" - http://blog.michelbarneveld.nl/michel/archive/2009/11/14/the-reason-why-kb911149-and-kb908209-are-not-the-soluton.aspx - - - - - - - Returns the fully-qualified URL to which this Session's response points, or null. - This method is needed because many servers (illegally) return a relative url in HTTP/3xx Location response headers. - - null, or Target URL. Note, you may want to call Utilities.TrimAfter(sTarget, '#'); on the response - - - - Gets a redirect-target from a base URI and a Location header - - - - null, or Target URL. Note, you may want to call Utilities.TrimAfter(sTarget, '#'); - - - - Fiddler can only auto-follow redirects to HTTP/HTTPS/FTP. - - The BASE URL to which a relative redirection should be applied - Response "Location" header - TRUE if the auto-redirect target is allowed - - - - Handles a Response's Redirect if the Session is configured to do so. - - TRUE if a redirect was handled, FALSE otherwise - - - - Check for common mistakes in HTTP Responses and notify the user if they are found. Called only if Linting is enabled. - - - - - Assign a Session ID. Called by ClientChatter when headers are available - - - - - Called only by InnerExecute, this method reads a request from the client and performs tampering/manipulation on it. - - TRUE if there's a Request object and we should continue processing. FALSE if reading the request failed - *OR* if script or an extension changed the session's State to DONE or ABORTED. - - - - - If the executeObtainRequest called failed, we perform cleanup - - - - - Returns TRUE if response is a NTLM or NEGO challenge - - True for HTTP/401,407 with NEGO or NTLM demand - - - - Returns TRUE if response is a Digest, NTLM, or Nego challenge - - True for HTTP/401,407 with Digest, NEGO, NTLM demand - - - - Replace the "ipv*.fiddler "fake" hostnames with the IP-literal equvalents. - - - - - Determines if request host is pointing directly at Fiddler. - - - - - - Echo the client's request back as a HTTP Response, encoding to prevent XSS. - - - - - Send a Proxy Configuration script back to the client. - - - - - Send a Proxy Configuration script back to WinHTTP, so that Fiddler can use an upstream proxy specified - by a script on a fileshare. (WinHTTP only allows HTTP/HTTPS-hosted script files) - - - - - Send the Fiddler Root certificate back to the client - - - - - This method indicates to the client that a secure tunnel was created, - without actually talking to an upstream server. - - If Fiddler's AutoResponder is enabled, and that autoresponder denies passthrough, - then Fiddler itself will always indicate "200 Connection Established" and wait for - another request from the client. That subsequent request can then potentially be - handled by the AutoResponder engine. - - BUG BUG: This occurs even if Fiddler isn't configured for HTTPS Decryption - - - The hostname to use in the Certificate returned to the client - - - - This method adds a Proxy-Support: Session-Based-Authentication header and indicates whether the response is Nego:Type2. - - Returns TRUE if server returned a credible Type2 NTLM Message - - - - This helper evaluates the conditions for client socket reuse. - - - - - - Sends the Response that Fiddler received from the server back to the client socket. - - Should the client and server pipes be tightly-bound together? - True, if the response was successfully sent to the client - - - - Sets up the next Session on these pipes, binding this Session's pipes to that new Session, as appropriate. When this method is called, - the nextSession variable is populated with the new Session, and that object is executed at the appropriate time. - - TRUE if both the client and server pipes should be bound regardless of the serverPipe's ReusePolicy - - - - Bitflags of commonly-queried session attributes - - - - - Returns True if this is a HTTP CONNECT tunnel. - - - - - A common use for the Tag property is to store data that is closely associated with the Session. - It is NOT marshalled during drag/drop and is NOT serialized to a SAZ file. - - - - - This event fires at any time the session's State changes. Use with caution due to the potential for performance impact. - - - - - This event fires if this Session automatically yields a new one, for instance, if Fiddler is configured to automatically - follow redirects or perform multi-leg authentication (X-AutoAuth). - - - - - If this session is a Tunnel, and the tunnel's IsOpen property is TRUE, returns TRUE. Otherwise returns FALSE. - - - - - If this session is a Tunnel, returns number of bytes sent from the Server to the Client - - - - - If this session is a Tunnel, returns number of bytes sent from the Client to the Server - - - - - Gets or Sets the HTTP Request body bytes. - Setter adjusts Content-Length header, and removes Transfer-Encoding and Content-Encoding headers. - Setter DOES NOT CLONE the passed array. - Setter will throw if the Request object does not exist for some reason. - Use utilSetRequestBody(sStr) to ensure proper character encoding if you need to use a string. - - - - - Gets or Sets the HTTP Response body bytes. - Setter adjusts Content-Length header, and removes Transfer-Encoding and Content-Encoding headers. - Setter DOES NOT CLONE the passed array. - Setter will throw if the Response object has not yet been created. (See utilCreateResponseAndBypassServer) - Use utilSetResponseBody(sStr) to ensure proper character encoding if you need to use a string. - - - - - When true, this session was conducted using the HTTPS protocol. - - - - - When true, this session was conducted using the FTP protocol. - - - - - Get the process ID of the application which made this request, or 0 if it cannot be determined. - - - - - Get the Process Info of the application which made this request, or String.Empty if it is not known - - - - - Gets a path-less filename suitable for saving the Response entity. Uses Content-Disposition if available. - - - - - Set to true in OnBeforeRequest if this request should bypass the gateway - - - - - Returns the port used by the client to communicate to Fiddler. - - - - - State of session. Note Side-Effects: If setting to .Aborted, calls FinishUISession. If setting to/from a Tamper state, calls RefreshMyInspectors - - - - - Returns the path and query part of the URL. (For a CONNECT request, returns the host:port to be connected.) - - - - - Retrieves the complete URI, including protocol/scheme, in the form http://www.host.com/filepath?query. - Or sets the complete URI, adjusting the UriScheme and/or Host. - - - - - Gets or sets the URL (without protocol) being requested from the server, in the form www.host.com/filepath?query. - - - - - DNS Name of the host server targeted by this request. May include IPv6 literal brackets. NB: a port# may be included. - - - - - DNS Name of the host server (no port) targeted by this request. Will include IPv6-literal brackets for IPv6-literal addresses - - - - - Returns the server port to which this request is targeted. - - - - - Returns the sequential number of this session. Note, by default numbering is restarted at zero when the session list is cleared. - - - - - Returns the Address used by the client to communicate to Fiddler. - - - - - Gets or Sets the HTTP Status code of the server's response - - - - - Checks whether this is a WebSocket, and if so, whether it has logged any parsed messages. - - - - - Returns TRUE if this session's State > ReadingResponse, and oResponse, oResponse.headers, and responseBodyBytes are all non-null. Note that - bHasResponse returns FALSE if the session is currently reading, even if a body was copied using the COMETPeek feature - - - - - Indexer property into SESSION flags, REQUEST headers, and RESPONSE headers. e.g. oSession["Request", "Host"] returns string value for the Request host header. If null, returns String.Empty - - SESSION, REQUEST or RESPONSE - The name of the flag or header - String value or String.Empty - - - - Simple indexer into the Session's oFlags object; returns null if flag is not present. - - - Returns the string value if the specified flag is present, or null if it is not. - - - - - This object holds Session information as a set of four easily-marshalled byte arrays. - It is serializable, which enables cross-process transfer of this data (as in a drag/drop operation). - (Internally, data is serialized as if it were being stored in a SAZ file) - - - - - Create a SessionData object. - Note: Method must run as cheaply as possible, since it runs on all Drag/Dropped sessions within Fiddler itself. - - - - - - Parameters passed into the AcceptConnection method. - - - - - The Socket which represents the newly-accepted Connection - - - - - The Certificate to pass to SecureClientPipeDirect immediately after accepting the connection. - Normally null, this will be set if the proxy endpoint is configured as a "Secure" endpoint - by AssignEndpointCertificate / ActAsHTTPSEndpointForHostname. - - - - - The DateTime of Creation of this connection - - - - - Unknown - - - - - The new Session is needed to respond to an Authentication Challenge - - - - - The new Session is needed to follow a Redirection - - - - - The new Session is needed to generate a CONNECT tunnel - - - - - Event arguments constructed for the OnStateChanged event raised when a Session's state property changed - - - - - The prior state of this session - - - - - The new state of this session - - - - - Constructor for the change in state - - The old state - The new state - - - - States for the (future) Session-processing State Machine. - - Fun Idea: We can omit irrelevant states from FiddlerCore and thus not have to litter - our state machine itself with a bunch of #if FIDDLERCORE checks... - ... except no, that doesn't work because compiler still cares. Rats. - - - - - - State of the current session - - - - - Object created but nothing's happening yet - - - - - Thread is reading the HTTP Request - - - - - AutoTamperRequest pass 1 (IAutoTamper, OnBeforeRequest script method) - - - - - User can tamper using Fiddler Inspectors - - - - - AutoTamperRequest pass 2 (Only used by IAutoTamper) - - - - - Thread is sending the Request to the server - - - - - Thread is reading the HTTP Response - - - - - AutoTamperResponse pass 1 (Only used by IAutoTamper) - - - - - User can tamper using Fiddler Inspectors - - - - - AutoTamperResponse pass 2 (Only used by IAutoTamper) - - - - - Sending response to client application - - - - - Session complete - - - - - Session was aborted (client didn't want response, fatal error, etc) - - - - - This enumeration provides the values for the Session object's BitFlags field - - - - - No flags are set - - - - - The request originally arrived with a URL specifying the HTTPS protocol. - - - - - The request originally arrived with a URL specifying the FTP protocol. - - - - - Ignore this traffic; do not buffer, store, or call event handlers - - - - - The client pipe was reused - - - - - The server pipe was reused - - - - - The request was transmitted to the server when its headers were complete - - - - - The response was streamed - - - - - The request was generated by Fiddler itself (e.g. the Composer tab) - - - - - The response was generated by Fiddler itself (e.g. AutoResponder or utilCreateResponseAndBypassServer) - - - - - This session was loaded from a .SAZ File - - - - - This session was loaded from some other tool - - - - - This request was sent to an upstream (CERN) gateway proxy - - - - - This is a "blind" CONNECT tunnel for HTTPS traffic - - - - - This is a CONNECT tunnel which decrypts HTTPS traffic as it flows through - - - - - This response was served from a client cache, bypassing Fiddler. Fiddler only "sees" this session because other software reported it to Fiddler - - - - - There was a HTTP Protocol violation in the client's request - - - - - There was a HTTP Protocol violation in the server's response - - - - - Response body was dropped, e.g due to fiddler.network.streaming.ForgetStreamedData or log-drop-response-body flag - - - - - This is a CONNECT tunnel for WebSocket traffic - - - - - This request was sent using the SOCKS protocol - - - - - Request body was dropped, e.g due to log-drop-request-body flag - - - - - The request was to create a RPC tunnel (e.g. on an RPC_OUT_DATA request) - - - - - A SessionTimers object holds timing information about a single Session. - - - - - The time at which the client's HTTP connection to Fiddler was established - - - - - The time at which the request's first Send() to Fiddler completes - - - - - The time at which the request headers were received - - - - - The time at which the request to Fiddler completes (aka RequestLastWrite) - - - - - The time at which the server connection has been established - - - - - The time at which Fiddler begins sending the HTTP request to the server (FiddlerRequestFirstSend) - - - - - The time at which Fiddler has completed sending the HTTP request to the server (FiddlerRequestLastSend). - BUG: Should be named "FiddlerEndRequest". - NOTE: Value here is often misleading due to buffering inside WinSock's send() call. - - - - - The time at which Fiddler receives the first byte of the server's response (ServerResponseFirstRead) - - - - - The time at which Fiddler received the server's headers - - - - - The time at which Fiddler has completed receipt of the server's response (ServerResponseLastRead) - - - - - The time at which Fiddler has begun sending the Response to the client (ClientResponseFirstSend) - - - - - The time at which Fiddler has completed sending the Response to the client (ClientResponseLastSend) - - - - - The number of milliseconds spent determining which gateway should be used to handle this request - (Should be mutually exclusive to DNSTime!=0) - - - - - The number of milliseconds spent waiting for DNS - - - - - The number of milliseconds spent waiting for the server TCP/IP connection establishment - - - - - The number of milliseconds elapsed while performing the HTTPS handshake with the server - - - - - Override of ToString shows timer info in a fancy format - - Timing information as a string - - - - Override of ToString shows timer info in a fancy format - - TRUE if the result can contain linebreaks; false if comma-delimited format preferred - Timing information as a string - - - - Enables High-Resolution timers, which are bad for battery-life but good for the accuracy of timestamps. - See http://technet.microsoft.com/en-us/sysinternals/bb897568 for the ClockRes utility that shows current clock resolution. - NB: Exiting Fiddler reverts this to the default value. - - - - - Log a Read's size and timestamp - - Number of milliseconds since first calling .Read() - Number of bytes returned in this read - - - - Return the ReadTimings as an array. Only one read is counted per millisecond - - - - - - Create a new List and append to it - - - - - - - URLMon Interop Class - - - - - Set the user-agent string for the current process - - New UA string - - - - Query WinINET for the current process' proxy settings. Oddly, there's no way to UrlMkGetSessionOption for the current proxy. - - String of hex suitable for display - - - - Configures the current process to use the system proxy for URLMon/WinINET traffic. - - - - - Configures the current process to use no Proxy for URLMon/WinINET traffic. - - - - - Sets the proxy for the current process to the specified list. See http://msdn.microsoft.com/en-us/library/aa383996(VS.85).aspx - - e.g. "127.0.0.1:8888" or "http=insecProxy:80;https=secProxy:444" - Semi-colon delimted list of hosts to bypass proxy; use <local> to bypass for Intranet - - - - Holds a variety of useful functions used in Fiddler and its addons. - - - - - Create a Session Archive Zip file containing the specified sessions - - The filename of the SAZ file to store - Array of sessions to store - Password to encrypt the file with, or null - TRUE if verbose error dialogs should be shown. - - - - - This is a refactored helper function which writes a single session to an open SAZ file. - - The session to write to the file - The ZIP File - The number of this file - The format string (e.g. "D3") to use when formatting the file number - The HTML String builder to write index information - TRUE to show verbose error dialog information - - - - Reads a Session Archive Zip file into an array of Session objects - - Filename to load - - Loaded array of sessions or null, in case of failure - - - - Reads a Session Archive Zip file into an array of Session objects - - Filename to load - - Loaded array of sessions or null, in case of failure - - - - Ensures a value is within a specified range. - - Type of the value - Current value - Min value - Max value - Returns the provided value, unless it is outside of the specified range, in which case the nearest "fencepost" is returned. - - - - A static byte array containing 0 elements. Use to avoid having many copies of an empty byte[] floating around. - - - - - Queries the user for a filename - - Dialog title - String representing file dialog filter - Filename or null - - - - Queries the user for a filename - - Dialog title - String representing file dialog filter - Initial directory or null - Filename or null - - - - Adds a place to a FileDialog's "Places" collection. - Includes error handling for internal .NET Framework bug. - - Note: CustomPlaces requires SP2 of .NET Framework v2. Attempting to call this method will throw System.MissingMethodException - if the required service pack is not installed. - - - - - - - Queries the user for an OPEN filename - - Dialog title - String representing file dialog filter (e.g. "All files (*.*)|*.*") - Filename or null - - - - Queries the user for an OPEN filename - - Dialog title - String representing file dialog filter - Initial directory or null - Filename or null - - - - Check to see that the target assembly defines a RequiredVersionAttribute and that the current Fiddler instance meets that requirement - - The assembly to test - The "type" of extension for display in error message - TRUE if the assembly includes a requirement and Fiddler meets it. - - - - Typically, a version number is displayed as "major number.minor number.build number.private part number". - - Version required - Version of the binary being tested - Returns 0 if exact match, else greater than 0 if Required version greater than verTest - - - - Shrinks a path string to fit within a certain number of characters, replacing segments with ellipses if needed. - - The Path to compact - Number of characters to shrink to - The compacted string, or the original string if compaction wasn't needed or failed - - - - Convert a full path into one that uses environment variables - - e.g. C:\windows\system32\foo.dll - %WINDIR%\System32\foo.dll - - - - Address the problem where the target "PATH" calls for a directoryname is already a filename - - - - - - - Ensure that the target file does not yet exist. If it does, generates a new filename with an embedded identifier, e.g. out[1].txt instead. - Attempts to ensure filename is creatable; e.g. if a path component needs to be a directory but is a file already, injects [#] into that - path component. - - Candidate filename - New filename which does not yet exist - - - - Ensure that the target path exists and if a file exists there, it is not readonly or hidden. - WARNING: Can throw if target "Filename" calls for a parent directoryname that is already used as a filename by a non-directory. - E.g. EnsureOverwriteable(C:\io.sys\filename.txt); would throw. - - The candidate filename - - - - Writes arrBytes to a file, creating the target directory and overwriting if the file exists. - - Path to File to write. - Bytes to write. - - - - Fills an array completely using the provided stream. Unlike a normal .Read(), this one will always fully fill the array unless the Stream throws. - - The stream from which to read. - The byte array into which the data should be stored. - The count of bytes read. - - - - Create a new byte[] containing the contents of two other byte arrays. - - - - - - - - Returns the Value from a (case-insensitive) token in the header string. Correctly handles double-quoted strings. - Allows comma and semicolon as delimiter. Trailing whitespace may be present. - - Name of the header - Name of the token - Value of the token if present; otherwise, null - - - - Ensures that the target string is iMaxLength or fewer characters - - The string to trim from - The maximum number of characters to return - Up to iMaxLength characters from the "Head" of the string. - - - - Ensures that the target string is iMaxLength or fewer characters, appending ... if truncation occurred - - The string to trim from - The maximum number of characters to return - The string, or up to iMaxLength-1 characters from the "Head" of the string, with \u2026 appeneded. - - - - Returns the "Head" of a string, before and not including a specified search string. - - The string to trim from - The delimiting string at which the trim should end. - Part of a string up to (but not including) sDelim, or the full string if sDelim was not found. - - - - Returns the "Head" of a string, before and not including the first instance of specified delimiter. - - The string to trim from. - The delimiting character at which the trim should end. - Part of a string up to (but not including) chDelim, or the full string if chDelim was not found. - - - - [Deprecated] Ensures that the target string is iMaxLength or fewer characters - - The string to trim from - The maximum number of characters to return - Identical to the method. - Up to iMaxLength characters from the "Head" of the string. - - - - Returns the "Tail" of a string, after (but NOT including) the First instance of specified delimiter. - See also - - The string to trim from. - The delimiting character after which the text should be returned. - Part of a string after (but not including) chDelim, or the full string if chDelim was not found. - - - - Returns the "Tail" of a string, after (but NOT including) the First instance of specified search string. - - - The string to trim from. - The delimiting string after which the text should be returned. - Part of a string after (but not including) sDelim, or the full string if sDelim was not found. - - - - Returns the "Tail" of a string, after (and including) the first instance of specified search string. - - The string to trim from. - The delimiting string at which the text should be returned. - Part of the string starting with sDelim, or the entire string if sDelim not found. - - - - Returns the "Tail" of a string, after (but not including) the Last instance of specified delimiter. - - - The string to trim from. - The delimiting character after which text should be returned. - Part of a string after (but not including) the final chDelim, or the full string if chDelim was not found. - - - - Returns the "Tail" of a string, after (but not including) the Last instance of specified substring. - - - The string to trim from. - The delimiting string after which text should be returned. - Part of a string after (but not including) the final sDelim, or the full string if sDelim was not found. - - - - Strip any IPv6-Literal brackets, needed when creating a Certificate - - - - - - - Determines true if a request with the specified HTTP Method/Verb MUST contain a entity body - - The Method/Verb - TRUE if the HTTP Method MUST contain a request body. - - - - http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-26#section-4.2.2 - - HTTPMethod - TRUE if the method is deemed idempotent - - - - Returns true if a request with the specified HTTP Method/Verb may contain a entity body - - The Method/Verb - TRUE if the HTTP Method MAY contain a request body. - - - - Detects whether string ends in a file extension generally recognized as an image file extension. - Pass lowercase into this function. - - *Lowercase* string - TRUE if string ends with common image file extension - - - - Determines if the specified MIME type is "binary" in nature. - - The MIME type - TRUE if the MIME type is likely binary in nature - - - - Gets a string from a byte-array, stripping a Byte Order Marker preamble if present. - - - This function really shouldn't need to exist. Why doesn't calling .GetString on a string with a preamble remove the preamble??? - - The byte array - The encoding to convert from *if* there's no Byte-order-marker - The string - - - - WARNING: May throw. - Gets an encoding, with proper respect for "utf8" as an alias for "utf-8"; Microsoft products don't support - this prior to 2015-era, but it turns out to be common. We do have a linter elsewhere that reports a warning - if it sees the dashless form. - https://github.com/telerik/fiddler/issues/38 - - Textual name of the encoding - - - - WARNING: Potentially slow. - WARNING: Does not decode the HTTP Response body; if compressed, embedded META or _charset_ will not be checked - Gets (via Headers or Sniff) the provided body's text Encoding. If not found, returns CONFIG.oHeaderEncoding (usually UTF-8). - - HTTP Headers, ideally containing a Content-Type header with a charset attribute. - byte[] containing the entity body. - A character encoding, if one could be determined - - - - Gets (via Headers or Sniff) the Response Text Encoding. Returns CONFIG.oHeaderEncoding (usually UTF-8) if unknown. - Perf: May be quite slow; cache the response - - The session - The encoding of the response body - - - - Set of encodings for which we'll attempt to sniff. (List order matters, I think) - - - - - HtmlEncode a string. - In Fiddler itself, this is a simple wrapper for the System.Web.HtmlEncode function. - The .NET3.5/4.0 Client Profile doesn't include System.Web, so we must provide our - own implementation of HtmlEncode for FiddlerCore's use. - - String to encode - String encoded according to the rules of HTML Encoding, or null. - - - - This function accepts a string and an offset into the string. It reads one or more %XX sequences from the - string converting them into a UTF-8 string based on the input text - - - - - - - - Convert the %-encoded string into a string, interpreting %-escape sequences as UTF-8 characters - - %-encoded string - Unencoded string - - - - Replaces System.Web.HttpUtility.UrlPathEncode(str). - - String to encode as a URL Path - Encoded string - - - - Tokenize a string into tokens. Delimits on unquoted whitespace ; quote marks are dropped unless preceded by \ characters. - Some special hackery to allow trailing slash not escape the final character of the entire input, so that: - prefs set fiddler.config.path.vsplugins "F:\users\ericlaw\VSWebTest\" - ...doesn't end up with a trailing quote. - - The string to tokenize - Are single-quotes allowed to as escapes? - An array of strings - - - - Pretty-print a Hex view of a byte array. Slow. - - The byte array - Number of bytes per line - String containing a pretty-printed array - - - - Pretty-print a Hex view of a byte array. Slow. - - The byte array - Number of bytes per line - The maximum number of bytes to pretty-print - String containing a pretty-printed array - - - - Pretty-print a Hex view of a byte array. Slow. - - The byte array - Number of bytes per line - The maximum number of bytes to pretty-print - Show ASCII text at the end of each line - String containing a pretty-printed array - - - - Print an byte array to a hex string. - Slow. - - Byte array - String of hex bytes, or "null"/"empty" if no bytes provided - - - - Create a string in CF_HTML format - - The HTML string - The HTML string wrapped with a CF_HTML prelude - - - - Returns an integer from the registry, or a default. - - The Registry key in which to find the value. - The registry value name. - Default to return if the registry key is missing or cannot be used as an integer - The retrieved integer, or the default. - - - - Save a string to the registry. Correctly handles null Value, saving as String.Empty - - The registry key into which the value will be written. - The name of the value. - The value to write. - - - - Returns an Float from the registry, or a default. - - Registry key in which to find the value. - The value name. - The default float value if the registry key is missing or cannot be used as a float. - Float representing the value, or the default. - - - - Get a bool from the registry - - The RegistryKey - The Value name - The default value - Returns an bool from the registry, or bDefault if the registry key is missing or cannot be used as an bool. - - - - Maps a MIMEType to a file extension. Note: May hit the registry, so consider the performance implications. - Pass only the TYPE (e.g. use oResponse.MIMEType), to ensure no charset info in the string. - - The MIME Type - A file extension for the type, or .TXT - - - - Return the content type of a target file, or application/octet-stream if unknown. - - A filename, including the extension - - - - - Use the system registry to find the proper MIME-Type for a given file extension. - WARNING: Calling Path.GetExtension may throw on bad input. Use to guard against that. - - Dot-prefixed file extension (e.g. ".js") - Content-Type, or null if one cannot be determined - - - - Determines if we have a complete chunked response body (RFC2616 Section 3.6.1) - - The session object, used for error reporting - The response data stream. Note: We do not touch the POSITION property. - The start of the HTTP body to scan for chunk size info - Returns the start of the final received/partial chunk - End of byte data in stream representing this chunked content, or -1 if error - True, if we've found the complete last chunk, false otherwise. - - - - Takes a byte array and applies HTTP Chunked Transfer Encoding to it - - The byte array to convert - The number of chunks to try to create - The byte array with Chunked Transfer Encoding applied - - - - Removes HTTP chunked encoding from the data in writeData and returns the resulting array. - - Some chunked data - Unchunked data. Throws InvalidDataException on data format errors. - - - - Removes HTTP chunked encoding from the data in writeData and returns the resulting array. - - Array to unchunk - Optional Session (for UI error messages) - TRUE to suppress error messages, FALSE to show alert boxes - Unchunked data. Throws InvalidDataException on data format errors. - - - - Returns TRUE if the Array contains nulls. TODO: Extend to check for other chars which are clearly non-Unicode - - - - - - - Implements a BlockList for "unknown" encodings that the utilDecode* functions cannot handle - - Transfer-Encoding - Content-Encoding - TRUE if any encoding is known to be unsupported - - - - Removes one or more encodings in the proper order to reconstruct the unencoded body. - If removing Transfer-Encoding and Content-Encoding, ALWAYS remove Transfer-Encoding first. - - The list of encodings in the order that they were applied - RFC2616: If multiple encodings have been applied to an entity, the content codings MUST be listed in the order in which they were applied. - Should unchunking be permitted (TRUE for Transfer-Encoding, FALSE for Content-Encoding) - The bytes of the body - - - - Content-Encodings - - - - - - - - - - Remove all encodings from arrBody, based on those specified in the supplied HTTP headers; DOES NOT MODIFY HEADERS. - Throws on errors. - - *Readonly* headers specifying what encodings are applied - In/Out array to be modified - - - - Remove all encodings from arrBody, based on those specified in the supplied HTTP headers; - DOES NOT MODIFY HEADERS. DOES NOT HANDLE UNSUPPORTED ENCODINGS WELL. - Throws on errors. - - *Readonly* headers specifying what encodings are applied - In/Out array to be modified - FALSE to show dialog boxes on errors, TRUE to remain silent - - - - Attempts to remove all Content-Encodings from a HTTP body. May throw if content is malformed. - MODIFIES HEADERS. - - Headers for the body; Content-Encoding and Content-Length will be modified - Reference to the body array - FALSE if error dialog boxes should be shown - TRUE if the body was decoded completely. - - - - Decompress an array compressed using an Zlib DEFLATE stream. Not a HTTP Encoding; it's used internally in the PNG format. - - The array to expand - byte[] of decompressed data - - - - GZIPs a byte-array - - Input byte array - byte[] containing a gzip-compressed copy of writeData[] - - - - Requires Win8+ - Decompress Xpress|Raw blocks used by WSUS, etc. - Introduction to the API is at http://msdn.microsoft.com/en-us/library/windows/desktop/hh920921(v=vs.85).aspx - - - - - - - GZIP-Expand function which shows no UI and will throw on error - - TRUE if you want to use Xceed to decompress; false if you want to use System.IO - byte[] to decompress - A decompressed byte array, or byte[0]. Throws on errors. - - - - Expands a GZIP-compressed byte array - - The array to decompress - byte[] containing an un-gzipped copy of compressedData[] - - - - Compress a byte array using RFC1951 DEFLATE - - Array to compress - byte[] containing a DEFLATE'd copy of writeData[] - - - - UnDeflate function which shows no UI and will throw on error - - TRUE if you want to use Xceed to decompress; false if you want to use System.IO - byte[] to decompress - A decompressed byte array, or byte[0]. Throws on errors. - - - - Decompress a byte array that was compressed using Microsoft's Xpress Raw format. - Available only on Windows 8+ - - Array to decompress - byte[] of decompressed data - - - - Decompress a byte array that was compressed using RFC1951 DEFLATE - - Array to decompress - byte[] of decompressed data - - - - Compress a byte[] using the bzip2 algorithm - - Array to compress - byte[] of data compressed using bzip2 - - - - Decompress an array compressed using bzip2 - - The array to expand - byte[] of decompressed data - - - - Decompress an array compressed using bzip2 - - The array to expand - byte[] of decompressed data - - - - Try parsing the string for a Hex-formatted int. If it fails, return false and 0 in iOutput. - - The hex number - The int value - TRUE if the parsing succeeded - - - - Returns TRUE if two ORIGIN (scheme+host+port) values are functionally equivalent. - - The first ORIGIN - The second ORIGIN - The default port, if a port is not specified - TRUE if the two origins are equivalent - - - - This function cracks a sHostPort string to determine if the address - refers to a "local" site - - The string to evaluate, potentially containing a port - True if the address is local - - - - This function cracks a sHostPort string to determine if the address - refers to the local computer - - The string to evaluate, potentially containing a port - True if the address is 127.0.0.1, 'localhost', or ::1 - - - - Determines if the specified Hostname is a either 'localhost' or an IPv4 or IPv6 loopback literal - - Hostname (no port) - TRUE if the hostname is equivalent to localhost - - - - This function cracks the Hostname/Port combo, removing IPV6 brackets if needed - - Hostname/port combo, like www.foo.com or www.example.com:8888 or [::1]:80 - The hostname, minus any IPv6 literal brackets, if present - Port #, 80 if not specified, -1 if corrupt - - - - Given a string/list in the form HOSTNAME:PORT#;HOSTNAME2:PORT2#, this function returns the FIRST IPEndPoint. Defaults to port 80 if not specified. - Warning: DNS resolution is slow, so use this function wisely. - - HOSTNAME:PORT#;OPTHOST2:PORT2# - An IPEndPoint or null - - - - Given a string/list in the form HOSTNAME:PORT#;HOSTNAME2:PORT2#, this function returns all IPEndPoints for ALL listed hosts. Defaults to port 80 if not specified. - Warning: DNS resolution is slow, so use this function wisely. - - HOSTNAME:PORT#;OPTHOST2:PORT2# - An array of IPEndPoints or null if no results were obtained - - - - This function attempts to be a ~fast~ way to return an IP from a hoststring that contains an IPv4/6-Literal. - - Hostname - IPAddress, or null, if the sHost wasn't an IP-Literal - - - - Launch the user's browser to a hyperlink. This function traps exceptions and notifies the user via UI dialog. - - The URL to ShellExecute. - TRUE if the ShellExecute call succeeded. - - - - Wrapper for Process.Start that shows error messages in the event of failure. - - Fully-qualified filename to execute. - Command line parameters to pass. - TRUE if the execution succeeded. FALSE if the execution failed. An error message will be shown for any error except the user declining UAC. - - - - Run an executable and wait for it to exit, notifying the user of any exceptions. - - Fully-qualified filename of file to execute. - Command-line parameters to pass. - TRUE if the execution succeeded. FALSE if the error message was shown. - - - - Run an executable, wait for it to exit, and return its output as a string. - NOTE: Uses CreateProcess, so you cannot launch applications which require Elevation. - - Fully-qualified filename of file to Execute - Command-line parameters to pass - Exit code returned by the executable - String containing the standard-output of the executable - - - - Copy a string to the clipboard, notifying the user of any exceptions - - The text to copy - TRUE if the copy succeeded - - - - Copy an object to the clipboard, notifying the user of any exceptions - - The object to copy - True if successful - - - - This method prepares a string to be converted into a regular expression by escaping special characters and CONVERTING WILDCARDS. - This method was originally meant for parsing WPAD proxy script strings. - - You typically should use the Static RegEx.Escape method for most purposes, as it doesn't convert "*" into ".*" - - - - - - - - - Determines whether the arrData array STARTS WITH with the supplied arrMagics bytes. Used for Content-Type sniffing. - - The data, or null - The MagicBytes to look for - TRUE if arrData begins with arrMagics - - - - Determines whether the arrData array begins with the supplied sMagics ASCII text. Used for Content-Type sniffing. - - The data, or null - The ASCII text to look for - TRUE if arrData begins with sMagics (encoded as ASCII octets) - - - - Is this HTTPMethod used for RPC-over-HTTPS? - - - - - Determine if a given byte array has the start of a HTTP/1.* 200 response. - Useful primarily to determine if a CONNECT request to a proxy returned success. - - - - - - - Determine if a given byte array has the start of a HTTP/1.* 407 response. - Useful primarily to determine if a CONNECT request to a proxy returned an auth challenge - - - - - - - For a given process name, returns a bool indicating whether this is a known browser process name. - - The Process name (e.g. "abrowser.exe") - Returns true if the process name starts with a common browser process name (e.g. ie, firefox, etc) - - - - Ensure that a given path is absolute, if not, applying the root path. - WARNING: This function only works as well as Path.IsPathRooted, which returns "True" for things like "/NoDriveSpecified/fuzzle.txt" - A better approach would be to look at the internal Path.IsRelative method - - - - - - - - If sFilename is absolute, returns it, otherwise, combines the leaf filename with local response folders hunting for a match. - Trims at the first ? character, if any - - Either a fully-qualified path, or a leaf filename - File path - - - - Format an Exception message, including InnerException message if present. - - - - - - - Get a TickCount (milliseconds since system start) as an unsigned 64bit value. On Vista+, uses the GetTickCount64 API that won't rollover, - but on XP, this unsigned wrapper moves the rollover point to 49 days of uptime. - - Number of ms since Windows started - - - - Returns TRUE if the user is running Elevated. Requires WinXP to Win8 - - TRUE if the user is an Admin and the process is Elevated - - - - Returns a succinct version of Environment.OSVersion.VersionString - - - - - - Returns TRUE on *Windows* (not Mono) when OS Version is Win8+ (NT6.2+) - - - - - - - Duplicate a byte array, replacing null with byte[0]. - Doing this instead of .Clone() because it better handles nulls and it may be faster. - - The array to copy - The new array. - - - - Warning: This will throw if FIPS mode is enabled - - - - - - - Returns TRUE if the array is null or contains 0 bytes - - byte[] to test - - - - - Returns TRUE if the string is non-empty and not of the pattern "[#123]" - Necessary because SAZ-saving logic autogenerates comments of that form - - - - - - - - - - True if ClientChatter is non-null and its headers are non-null - - - - True if ClientChatter is non-null and its headers are non-null - - - True if ClientChatter is non-null and its headers are non-null - - - - Return a multi-line string describing the NetworkInterfaces[] - - - - - - Checks a DLL's filename for signals that it doesn't contain extensions. - This hack is only needed because I wasn't smart enough to require that the assembly be named something like Fiddler.* in the original design. - - DLL filename - TRUE if we should skip this assembly during enumeration - - - - Garbage collect and, if possible, compact the Large Object heap - - - - - Common functions we'll want to use on Strings. Fiddler makes extensive use of strings which - should be interpreted in a case-insensitive manner. - - WARNING: Methods assume that the calling object is not null, which is lame for reliability but arguably good for performance. - - - - - The WebSocket class represents a "tunnel" through which WebSocket messages flow. - The class' messages may be deserialized from a SAZ file. - - - - - Should this WebSocket Tunnel parse the WS traffic within into individual messages? - - - - - Writes all of the messages stored in this WebSocket to a stream. - - - - - - - Approximate size of the data of the stored messages, used for memory tracking - - - - - - Read headers from the stream. - - The Stream from which WebSocketSerializationHeaders should be read - The Array of headers, or String[0] - - - - Number of bytes received from the client - - - - - Number of bytes received from the server - - - - - Creates a "detached" WebSocket which contains messages loaded from the specified stream - - Session to which the WebSocket messages belong - The Stream containing messages, which will be closed upon completion - - - - This factory method creates a new WebSocket Tunnel and executes it on a background (non-pooled) thread. - - The Session containing the HTTP CONNECT request - - - - Creates a WebSocket tunnel. External callers instead use the CreateTunnel static method. - - The session for which this tunnel was initially created. - The client pipe - The server pipe - - - - This function keeps the Tunnel/Thread alive until it is signaled that the traffic is complete - - - - - Performs cleanup of the WebSocket instance. Call this after the WebSocket closes normally or after abort/exceptions. - - - - - Executes the WebSocket tunnel on a background thread - - - - - Interface Method - Close the WebSocket and signal the event to let its service thread die. Also called by oSession.Abort() - WARNING: This should not be allowed to throw any exceptions, because it will do so on threads that don't - catch them, and this will kill the application. - - - - - When we get a buffer from the client, we push it into the memory stream - - - - - When we get a buffer from the server, we push it into the memory stream - - - - - This method parses the data in strmClientBytes to extact one or more WebSocket messages. It then sends each message - through the pipeline. - - - - This method parses the data in strmServerBytes to extact one or more WebSocket messages. It then sends each message - through the pipeline to the client. - - - - Called when we have received data from the local client. - - The result of the asynchronous operation. - - - Called when we have received data from the remote host. Incoming data will immediately be forwarded to the local client. - The result of the asynchronous operation. - - - - Is this WebSocket open/connected? - - - - - Boolean that determines whether the WebSocket tunnel tracks messages. - - - - - Returns number of bytes sent from the Server to the Client on this WebSocket - - - - - Returns number of bytes sent from the Client to the Server on this WebSocket - - - - - This enumeration provides the values for the WebSocketMessage object's BitFlags field - - - - - No flags are set - - - - - Message was eaten ("dropped") by Fiddler - - - - - Message was generated ("injected") by Fiddler itself - - - - - Fragmented Message was reassembled by Fiddler - - - - - Breakpointed - - - - - A WebSocketMessage stores a single frame of a single WebSocket message - http://tools.ietf.org/html/rfc6455 - - - - - 3 bits frame-rsv1,frame-rsv2,frame-rsv3 - - - - - Unmasks the first array into the third, using the second as a masking key. - - - - - - - - Masks the first array's data using the key in the second - - The data to be masked - A 4-byte obfuscation key, or null. - - - - Replaces the WebSocketMessage's payload with the specified string, masking if needed. - - - - - - Copies the provided byte array over the WebSocketMessage's payload, masking if needed. - - - - - - Masks the provided array (if necessary) and assigns it to the WebSocketMessage's payload. - - New array of data - - - - Return the WebSocketMessage's payload as a string. - - - - - - Copy the WebSocketMessage's payload into a new Byte Array. - - A new byte array containing the (unmasked) payload. - - - - Is this a Request message? - - - - - The WebSocketTimers collection tracks the timestamps for this message - - - - - The raw payload data, which may be masked. - - - - - The four-byte payload masking key, if any - - - - - The type of the WebSocket Message's frame - - - - - Serialize this message to a stream - - - - - - Add the content of the subequent continuation to me. - - - - - - Timers - - - - - When was this message read from the sender - - - - - When did transmission of this message to the recipient begin - - - - - When did transmission of this message to the recipient end - - - - - Return the timers formatted to be placed in pseudo-headers used in saving the WebSocketMessage to a stream (SAZ). - NOTE: TRAILING \r\n is critical. - - - - - - The WinHTTPAutoProxy class is used to handle upstream gateways when the client was configured to use WPAD or an Proxy AutoConfig (PAC) script. - - - - - Indication as to whether AutoProxy information is valid. 0=Unknown/Enabled; 1=Valid/Enabled; -1=Invalid/Disabled - - - - - Get the text of the file located at a specified file URI, or null if the URI is non-file or the file is not found. - - - - - Returns a string containing the currently selected autoproxy options - - - - - - Get WPAD-discovered URL for display purposes (e.g. Help> About); note that we don't actually use this when determining the gateway, - instead relying on the WinHTTPGetProxyForUrl function to do this work for us. - - A WPAD url, if found, or String.Empty - - - - Return gateway endpoint for requested Url. TODO: Add caching layer on our side? TODO: Support multiple results? - - The URL for which the gateway should be determined - The Endpoint of the Gateway, or null - TRUE if WinHttpGetProxyForUrl succeeded - - - - Close the WinHTTP Session handle - - - - - Note: Be sure to use the same hSession to prevent redownload of the proxy script - - - - - Set to true to send Negotiate creds when challenged to download the script - - - - - Wrapper for WinINET cache APIs. - - - - - Clear all HTTP Cookies from the WinINET Cache - - - - - Clear all files from the WinINET Cache - - - - - Delete all permanent WinINET cookies for sHost; won't clear memory-only session cookies. Supports hostnames with an optional leading wildcard, e.g. *example.com. NOTE: Will not work on VistaIE Protected Mode cookies. - - The hostname whose cookies should be cleared - - - - Clear the Cache items. Note: May be synchronous, may be asynchronous. - - TRUE if cache files should be cleared - TRUE if cookies should be cleared - - - - For PInvoke: Contains information about an entry in the Internet cache - - - - - Wrapper for WinINET proxy configuration APIs - - - - - Hostnames of sites to bypass proxy. <local> is common. - - - - - Allow direct connection to host - - - - - Attempt WPAD autoproxy detection - - - - - Ignore WinINET "no autoproxy unticks box" optimization - - - - - Use user-supplied URL to get FindProxyForURL script - - - - - Use user-supplied manual/fixed proxy address list - - - - - WPAD script url that may be used if _bUseScript true - - - - - Gathers proxy information from a named connection. - - Pass DefaultLAN to look for the "null" connection - Proxy info, or null - - - - Get a string describing the proxy settings - - Returns a multi-line string representing the proxy settings - - - - Calculate a string suitable for passing into WinINET APIs. - - Returns a string containing proxy information, or NULL. NB: I've seen WinINET blow up when passed String.Empty rather than null. - - - - - Given a proxy string, we crack out the proxy gateways for each protocol - - e.g. HTTP=itgproxy:80;FTP=ftpprox:21; - false on error - - - - Fills this WinINETProxyInfo instance with settings from specified WinINET connection. - - Name of the connection. Pass NULL for LAN connection. - TRUE if the settings were successfully retrieved. - - - - Sets WinINET proxy settings for specified connection to those specified in this WinINETProxy instance. - - Name of the connection. Pass NULL for LAN connection. - - - - Semi-colon delimited list of hostnames that should bypass the fixed proxy - - - - - TRUE if manually-specified proxy should be used. - - - - - TRUE if a direct HTTP connection may be made if AutoProxy/PAC is unreachable or corrupt - - - - - True if the proxy should be bypassed for dotless hostnames. - NOTE: Simply looks at the bypassList string to see if it contains a LOCAL rule. - - - - - String representing the endpoint of the proxy for HTTP-traffic, if configured - - - - - String representing the endpoint of the proxy for HTTPS-traffic, if configured - - - - - String representing the endpoint of the proxy for FTP-traffic, if configured - - - - - String representing the endpoint of the proxy for SOCKS-traffic, if configured - - - - - Bool indicating whether this connection is set to autodetect the proxy - - - - - Returns a string pointing to the ProxyAutoConfig script, or null if there is no such URL or it is not enabled - - - - - The RASInfo class is used to enumerate Network Connectoids so Fiddler can adjust proxy configuration for all connectoids, not just the DefaultLAN - - - - - Ask RAS for the list of network connectoids. We'll always add "DefaultLAN" to this list as well. - - - -
-
diff --git a/bin/Release_2.85/Fleck.dll b/bin/Release_2.85/Fleck.dll deleted file mode 100644 index 8879ec4..0000000 Binary files a/bin/Release_2.85/Fleck.dll and /dev/null differ diff --git a/bin/Release_2.85/Newtonsoft.Json.dll b/bin/Release_2.85/Newtonsoft.Json.dll deleted file mode 100644 index 7af125a..0000000 Binary files a/bin/Release_2.85/Newtonsoft.Json.dll and /dev/null differ diff --git a/bin/Release_2.85/Newtonsoft.Json.xml b/bin/Release_2.85/Newtonsoft.Json.xml deleted file mode 100644 index 008e0ca..0000000 --- a/bin/Release_2.85/Newtonsoft.Json.xml +++ /dev/null @@ -1,11305 +0,0 @@ - - - - Newtonsoft.Json - - - - - Represents a BSON Oid (object id). - - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Initializes a new instance of the class. - - The Oid value. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. - - - - - Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. - - - true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The containing the BSON data to read. - - - - Initializes a new instance of the class. - - The containing the BSON data to read. - - - - Initializes a new instance of the class. - - The containing the BSON data to read. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The containing the BSON data to read. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the underlying . - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Changes the reader's state to . - If is set to true, the underlying is also closed. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. - - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Initializes a new instance of the class. - - The to write to. - - - - Initializes a new instance of the class. - - The to write to. - - - - Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a JSON array. - - - - - Writes the beginning of a JSON object. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Closes this writer. - If is set to true, the underlying is also closed. - If is set to true, the JSON is auto-completed. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value that represents a BSON object id. - - The Object ID value to write. - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. - - - - - Json.NET will use a non-public default constructor before falling back to a parameterized constructor. - - - - - Converts a binary value to and from a base 64 string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Creates a custom object. - - The object type to convert. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - The created object. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a F# discriminated union type to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an Entity Framework to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). - - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Gets or sets a value indicating whether the written enum text should be camel case. - The default value is false. - - true if the written enum text will be camel case; otherwise, false. - - - - Gets or sets the naming strategy used to resolve how enum text is written. - - The naming strategy used to resolve how enum text is written. - - - - Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. - The default value is true. - - true if integers are allowed when serializing and deserializing; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - true if the written enum text will be camel case; otherwise, false. - - - - Initializes a new instance of the class. - - The naming strategy used to resolve how enum text is written. - true if integers are allowed when serializing and deserializing; otherwise, false. - - - - Initializes a new instance of the class. - - The of the used to write enum text. - - - - Initializes a new instance of the class. - - The of the used to write enum text. - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - - - - Initializes a new instance of the class. - - The of the used to write enum text. - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - true if integers are allowed when serializing and deserializing; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from Unix epoch time - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Converts a to and from a string (e.g. "1.2.3.4"). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts XML to and from JSON. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. - - The name of the deserialized root element. - - - - Gets or sets a value to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - true if the array attribute is written to the XML; otherwise, false. - - - - Gets or sets a value indicating whether to write the root JSON object. - - true if the JSON root object is omitted; otherwise, false. - - - - Gets or sets a value indicating whether to encode special characters when converting JSON to XML. - If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify - XML namespaces, attributes or processing directives. Instead special characters are encoded and written - as part of the XML element name. - - true if special characters are encoded; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - true if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Specifies how dates are formatted when writing JSON text. - - - - - Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". - - - - - Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". - - - - - Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. - - - - - Date formatted strings are not parsed to a date type and are read as strings. - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Specifies how to treat the time value when converting between string and . - - - - - Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. - - - - - Treat as a UTC. If the object represents a local time, it is converted to a UTC. - - - - - Treat as a local time if a is being converted to a string. - If a string is being converted to , convert to a local time if a time zone is specified. - - - - - Time zone information should be preserved when converting. - - - - - The default JSON name table implementation. - - - - - Initializes a new instance of the class. - - - - - Gets a string containing the same characters as the specified range of characters in the given array. - - The character array containing the name to find. - The zero-based index into the array specifying the first character of the name. - The number of characters in the name. - A string containing the same characters as the specified range of characters in the given array. - - - - Adds the specified string into name table. - - The string to add. - This method is not thread-safe. - The resolved string. - - - - Specifies default value handling options for the . - - - - - - - - - Include members where the member value is the same as the member's default value when serializing objects. - Included members are written to JSON. Has no effect when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - so that it is not written to JSON. - This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, - decimals and floating point numbers; and false for booleans). The default value ignored can be changed by - placing the on the property. - - - - - Members with a default value but no JSON will be set to their default value when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - and set members to their default value when deserializing. - - - - - Specifies float format handling options when writing special floating point numbers, e.g. , - and with . - - - - - Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". - - - - - Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. - Note that this will produce non-valid JSON. - - - - - Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. - - - - - Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Floating point numbers are parsed to . - - - - - Floating point numbers are parsed to . - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Provides an interface for using pooled arrays. - - The array type content. - - - - Rent an array from the pool. This array must be returned when it is no longer needed. - - The minimum required length of the array. The returned array may be longer. - The rented array from the pool. This array must be returned when it is no longer needed. - - - - Return an array to the pool. - - The array that is being returned. - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if and can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, when returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, when returns false). - - - - Instructs the how to serialize the collection. - - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items. - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the to use the specified constructor when deserializing that object. - - - - - Instructs the how to serialize the object. - - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets or sets the collection's items converter. - - The collection's items converter. - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - - - [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - - Gets or sets the of the . - - The of the . - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - - - [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] - - - - - - Gets or sets a value that indicates whether to preserve object references. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Gets or sets a value that indicates whether to preserve collection's items references. - - - true to keep collection's items object references; otherwise, false. The default is false. - - - - - Gets or sets the reference loop handling used when serializing the collection's items. - - The reference loop handling. - - - - Gets or sets the type name handling used when serializing the collection's items. - - The type name handling. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Provides methods for converting between .NET types and JSON types. - - - - - - - - Gets or sets a function that creates default . - Default settings are automatically used by serialization methods on , - and and on . - To serialize without using any default settings create a with - . - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - The time zone handling when the date is converted to a string. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - The string escape handling. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting. - - The object to serialize. - Indicates how the output should be formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection of converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting and a collection of . - - The object to serialize. - Indicates how the output should be formatted. - A collection of converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is to write out the type name if the type of the value does not match. - Specifying the type is optional. - - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using formatting and . - - The object to serialize. - Indicates how the output should be formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - Indicates how the output should be formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is to write out the type name if the type of the value does not match. - Specifying the type is optional. - - - A JSON string representation of the object. - - - - - Deserializes the JSON to a .NET object. - - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to a .NET object using . - - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The JSON to deserialize. - The of object being deserialized. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The type of the object to deserialize to. - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be inferred from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the given anonymous type using . - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be inferred from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The type of the object to deserialize to. - The JSON to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The type of the object to deserialize to. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The JSON to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - - - Serializes the to a JSON string. - - The node to serialize. - A JSON string of the . - - - - Serializes the to a JSON string using formatting. - - The node to serialize. - Indicates how the output should be formatted. - A JSON string of the . - - - - Serializes the to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output should be formatted. - Omits writing the root object. - A JSON string of the . - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by - and writes a Json.NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A value to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by , - writes a Json.NET array attribute for collections, and encodes special characters. - - The JSON string. - The name of the root element to append when deserializing. - - A value to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - - A value to indicate whether to encode special characters when converting JSON to XML. - If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify - XML namespaces, attributes or processing directives. Instead special characters are encoded and written - as part of the XML element name. - - The deserialized . - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the . - - - - Serializes the to a JSON string using formatting. - - The node to convert to JSON. - Indicates how the output should be formatted. - A JSON string of the . - - - - Serializes the to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output should be formatted. - Omits writing the root object. - A JSON string of the . - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by - and writes a Json.NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A value to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by , - writes a Json.NET array attribute for collections, and encodes special characters. - - The JSON string. - The name of the root element to append when deserializing. - - A value to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - - A value to indicate whether to encode special characters when converting JSON to XML. - If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify - XML namespaces, attributes or processing directives. Instead special characters are encoded and written - as part of the XML element name. - - The deserialized . - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Converts an object to and from JSON. - - The object type to convert. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. If there is no existing value then null will be used. - The existing value has a value. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Gets the of the . - - The of the . - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - - - - - Initializes a new instance of the class. - - Type of the . - - - - Initializes a new instance of the class. - - Type of the . - Parameter list to use when constructing the . Can be null. - - - - Represents a collection of . - - - - - Instructs the how to serialize the collection. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Instructs the to deserialize properties with no matching class member into the specified collection - and write values during serialization. - - - - - Gets or sets a value that indicates whether to write extension data when serializing the object. - - - true to write extension data when serializing the object; otherwise, false. The default is true. - - - - - Gets or sets a value that indicates whether to read extension data when deserializing the object. - - - true to read extension data when deserializing the object; otherwise, false. The default is true. - - - - - Initializes a new instance of the class. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Base class for a table of atomized string objects. - - - - - Gets a string containing the same characters as the specified range of characters in the given array. - - The character array containing the name to find. - The zero-based index into the array specifying the first character of the name. - The number of characters in the name. - A string containing the same characters as the specified range of characters in the given array. - - - - Instructs the how to serialize the object. - - - - - Gets or sets the member serialization. - - The member serialization. - - - - Gets or sets the missing member handling used when deserializing this object. - - The missing member handling. - - - - Gets or sets how the object's properties with null values are handled during serialization and deserialization. - - How the object's properties with null values are handled during serialization and deserialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the to always serialize the member with the specified name. - - - - - Gets or sets the type used when serializing the property's collection items. - - The collection's items type. - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - - - [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - - Gets or sets the of the . - - The of the . - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - - - [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] - - - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the order of serialization of a member. - - The numeric order of serialization. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - Gets or sets the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Asynchronously reads the next JSON token from the source. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns true if the next token was read successfully; false if there are no more tokens to read. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously skips the children of the current token. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a []. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the []. This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Specifies the state of the reader. - - - - - A read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader is in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets or sets a value indicating whether the source should be closed when this reader is closed. - - - true to close the source when this reader is closed; otherwise false. The default is true. - - - - - Gets or sets a value indicating whether multiple pieces of JSON content can - be read from a continuous stream without erroring. - - - true to support reading multiple pieces of JSON content; otherwise false. - The default is false. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Gets or sets how time zones are handled when reading JSON. - - - - - Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Gets or sets how custom date formatted strings are parsed when reading JSON. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - A null value means there is no maximum. - The default value is 128. - - - - - Gets the type of the current JSON token. - - - - - Gets the text value of the current JSON token. - - - - - Gets the .NET type for the current JSON token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Initializes a new instance of the class. - - - - - Reads the next JSON token from the source. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a []. - - A [] or null if the next JSON token is null. This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the current token and value. - - The new token. - The value. - A flag indicating whether the position index inside an array should be updated. - - - - Sets the state based on current token type. - - - - - Releases unmanaged and - optionally - managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the reader's state to . - If is set to true, the source is also closed. - - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Initializes a new instance of the class - with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The path to the JSON where the error occurred. - The line number indicating where the error occurred. - The line position indicating where the error occurred. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Instructs the to always serialize the member, and to require that the member has a value. - - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Initializes a new instance of the class - with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The path to the JSON where the error occurred. - The line number indicating where the error occurred. - The line position indicating where the error occurred. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets how type name writing and reading is handled by the serializer. - The default value is . - - - should be used with caution when your application deserializes JSON from an external source. - Incoming types should be validated with a custom - when deserializing with a value other than . - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - The default value is . - - The type name assembly format. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - The default value is . - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - The default value is . - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - The default value is . - - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - The default value is . - - - - - Gets or sets how null values are handled during serialization and deserialization. - The default value is . - - - - - Gets or sets how default values are handled during serialization and deserialization. - The default value is . - - - - - Gets or sets how objects are created during deserialization. - The default value is . - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - The default value is . - - The constructor handling. - - - - Gets or sets how metadata properties are used during deserialization. - The default value is . - - The metadata properties handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Indicates how JSON text output is formatted. - The default value is . - - - - - Gets or sets how dates are written to JSON text. - The default value is . - - - - - Gets or sets how time zones are handled during serialization and deserialization. - The default value is . - - - - - Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - The default value is . - - - - - Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - The default value is . - - - - - Gets or sets how special floating point numbers, e.g. , - and , - are written as JSON text. - The default value is . - - - - - Gets or sets how strings are escaped when writing JSON text. - The default value is . - - - - - Gets or sets how and values are formatted when writing JSON text, - and the expected date format when reading JSON text. - The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". - - - - - Gets or sets the culture used when reading JSON. - The default value is . - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - A null value means there is no maximum. - The default value is 128. - - - - - Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. - The default value is false. - - - true if there will be a check for additional JSON content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance. - The will not use default settings - from . - - - A new instance. - The will not use default settings - from . - - - - - Creates a new instance using the specified . - The will not use default settings - from . - - The settings to be applied to the . - - A new instance using the specified . - The will not use default settings - from . - - - - - Creates a new instance. - The will use default settings - from . - - - A new instance. - The will use default settings - from . - - - - - Creates a new instance using the specified . - The will use default settings - from as well as the specified . - - The settings to be applied to the . - - A new instance using the specified . - The will use default settings - from as well as the specified . - - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to read values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to read values from. - The target object to populate values onto. - - - - Deserializes the JSON structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the JSON structure - using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Serializes the specified and writes the JSON structure - using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is to write out the type name if the type of the value does not match. - Specifying the type is optional. - - - - - Serializes the specified and writes the JSON structure - using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifying the type is optional. - - - - - Serializes the specified and writes the JSON structure - using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Specifies the settings on a object. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) are handled. - The default value is . - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - The default value is . - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - The default value is . - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - The default value is . - - Null value handling. - - - - Gets or sets how default values are handled during serialization and deserialization. - The default value is . - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - The default value is . - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - The default value is . - - - should be used with caution when your application deserializes JSON from an external source. - Incoming types should be validated with a custom - when deserializing with a value other than . - - The type name handling. - - - - Gets or sets how metadata properties are used during deserialization. - The default value is . - - The metadata properties handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - The default value is . - - The type name assembly format. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - The default value is . - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - The default value is . - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets a function that creates the used by the serializer when resolving references. - - A function that creates the used by the serializer when resolving references. - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Gets or sets how and values are formatted when writing JSON text, - and the expected date format when reading JSON text. - The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - A null value means there is no maximum. - The default value is 128. - - - - - Indicates how JSON text output is formatted. - The default value is . - - - - - Gets or sets how dates are written to JSON text. - The default value is . - - - - - Gets or sets how time zones are handled during serialization and deserialization. - The default value is . - - - - - Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - The default value is . - - - - - Gets or sets how special floating point numbers, e.g. , - and , - are written as JSON. - The default value is . - - - - - Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - The default value is . - - - - - Gets or sets how strings are escaped when writing JSON text. - The default value is . - - - - - Gets or sets the culture used when reading JSON. - The default value is . - - - - - Gets a value indicating whether there will be a check for additional content after deserializing an object. - The default value is false. - - - true if there will be a check for additional content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Represents a reader that provides fast, non-cached, forward-only access to JSON text data. - - - - - Asynchronously reads the next JSON token from the source. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns true if the next token was read successfully; false if there are no more tokens to read. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a []. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the []. This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Initializes a new instance of the class with the specified . - - The containing the JSON data to read. - - - - Gets or sets the reader's property name table. - - - - - Gets or sets the reader's character buffer pool. - - - - - Reads the next JSON token from the underlying . - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a []. - - A [] or null if the next JSON token is null. This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Changes the reader's state to . - If is set to true, the underlying is also closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if and can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, returns false). - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the JSON value delimiter. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the specified end token. - - The end token to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously closes this writer. - If is set to true, the destination is also closed. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the end of the current JSON object or array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes indent characters. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes an indent space. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes raw JSON without changing the writer's state. - - The raw JSON to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a null value. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the property name of a name/value pair of a JSON object. - - The name of the property. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the property name of a name/value pair of a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the beginning of a JSON array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the beginning of a JSON object. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the start of a constructor with the given name. - - The name of the constructor. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes an undefined value. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the given white space. - - The string of white space characters. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a [] value. - - The [] value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the end of an array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the end of a constructor. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the end of a JSON object. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Gets or sets the writer's character array pool. - - - - - Gets or sets how many s to write for each level in the hierarchy when is set to . - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to . - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - Initializes a new instance of the class using the specified . - - The to write to. - - - - Flushes whatever is in the buffer to the underlying and also flushes the underlying . - - - - - Closes this writer. - If is set to true, the underlying is also closed. - If is set to true, the JSON is auto-completed. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a value. - - The value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the given white space. - - The string of white space characters. - - - - Specifies the type of JSON token. - - - - - This is returned by the if a read method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An integer. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - - Represents a reader that provides validation. - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current JSON token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current JSON token. - - - - - - Gets the .NET type for the current JSON token. - - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Changes the reader's state to . - If is set to true, the underlying is also closed. - - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying as a []. - - - A [] or null if the next JSON token is null. - - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying . - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Asynchronously closes this writer. - If is set to true, the destination is also closed. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the specified end token. - - The end token to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes indent characters. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the JSON value delimiter. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes an indent space. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes raw JSON without changing the writer's state. - - The raw JSON to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the end of the current JSON object or array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the end of an array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the end of a constructor. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the end of a JSON object. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a null value. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the property name of a name/value pair of a JSON object. - - The name of the property. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the property name of a name/value pair of a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the beginning of a JSON array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the start of a constructor with the given name. - - The name of the constructor. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the beginning of a JSON object. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the current token. - - The to read the token from. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the current token. - - The to read the token from. - A flag indicating whether the current token's children should be written. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the token and its value. - - The to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the token and its value. - - The to write. - - The value to write. - A value is only required for tokens that have an associated value, e.g. the property name for . - null can be passed to the method for tokens that don't have a value, e.g. . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a [] value. - - The [] value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes an undefined value. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the given white space. - - The string of white space characters. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously ets the state of the . - - The being written. - The value being written. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Gets or sets a value indicating whether the destination should be closed when this writer is closed. - - - true to close the destination when this writer is closed; otherwise false. The default is true. - - - - - Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. - - - true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. - - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Gets the path of the writer. - - - - - Gets or sets a value indicating how JSON text output should be formatted. - - - - - Gets or sets how dates are written to JSON text. - - - - - Gets or sets how time zones are handled when writing JSON text. - - - - - Gets or sets how strings are escaped when writing JSON text. - - - - - Gets or sets how special floating point numbers, e.g. , - and , - are written to JSON text. - - - - - Gets or sets how and values are formatted when writing JSON text. - - - - - Gets or sets the culture used when writing JSON. Defaults to . - - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the destination and also flushes the destination. - - - - - Closes this writer. - If is set to true, the destination is also closed. - If is set to true, the JSON is auto-completed. - - - - - Writes the beginning of a JSON object. - - - - - Writes the end of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair of a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair of a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes the end of the current JSON object or array. - - - - - Writes the current token and its children. - - The to read the token from. - - - - Writes the current token. - - The to read the token from. - A flag indicating whether the current token's children should be written. - - - - Writes the token and its value. - - The to write. - - The value to write. - A value is only required for tokens that have an associated value, e.g. the property name for . - null can be passed to the method for tokens that don't have a value, e.g. . - - - - - Writes the token. - - The to write. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the given white space. - - The string of white space characters. - - - - Releases unmanaged and - optionally - managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Sets the state of the . - - The being written. - The value being written. - - - - The exception thrown when an error occurs while writing JSON text. - - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Initializes a new instance of the class - with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The path to the JSON where the error occurred. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Specifies how JSON comments are handled when loading JSON. - - - - - Ignore comments. - - - - - Load comments as a with type . - - - - - Specifies how duplicate property names are handled when loading JSON. - - - - - Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. - - - - - Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. - - - - - Throw a when a duplicate property is encountered. - - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, and the descendants of every token in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every token in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every token in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every token in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every token in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a collection of objects. - - The type of token. - - - - Gets the of with the specified key. - - - - - - Represents a JSON array. - - - - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous load. The property contains the JSON that was read from the specified . - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous load. The property contains the JSON that was read from the specified . - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object. - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - - - - - Returns an enumerator that iterates through the collection. - - - A of that can be used to iterate through the collection. - - - - - Adds an item to the . - - The object to add to the . - - - - Removes all items from the . - - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Copies the elements of the to an array, starting at a particular array index. - - The array. - Index of the array. - - - - Gets a value indicating whether the is read-only. - - true if the is read-only; otherwise, false. - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - - - - Represents a JSON constructor. - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous load. The - property returns a that contains the JSON that was read from the specified . - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous load. The - property returns a that contains the JSON that was read from the specified . - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Loads a from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a token that can contain other tokens. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Occurs when the items list of the collection has changed, or the collection is reset. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An of containing the descendant tokens of the . - - - - Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. - - An of containing this token, and all the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates a that can be used to add tokens to the . - - A that is ready to have content written to it. - - - - Replaces the child nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Merge the specified content into this . - - The content to be merged. - - - - Merge the specified content into this using . - - The content to be merged. - The used to merge the content. - - - - Gets the count of child JSON tokens. - - The count of child JSON tokens. - - - - Represents a collection of objects. - - The type of token. - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that can be used to iterate through the collection. - - - A that can be used to iterate through the collection. - - - - - Gets the of with the specified key. - - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Represents a JSON object. - - - - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous load. The - property returns a that contains the JSON that was read from the specified . - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous load. The - property returns a that contains the JSON that was read from the specified . - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Occurs when a property value changes. - - - - - Occurs when a property value is changing. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets the node type for this . - - The type. - - - - Gets an of of this object's properties. - - An of of this object's properties. - - - - Gets a with the specified name. - - The property name. - A with the specified name or null. - - - - Gets the with the specified name. - The exact name will be searched for first and if no matching property is found then - the will be used to match a property. - - The property name. - One of the enumeration values that specifies how the strings will be compared. - A matched with the specified name or null. - - - - Gets a of of this object's property values. - - A of of this object's property values. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Loads a from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - is not valid JSON. - - - - - Loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - is not valid JSON. - - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - is not valid JSON. - - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - is not valid JSON. - - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object. - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified property name. - - Name of the property. - The with the specified property name. - - - - Gets the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - One of the enumeration values that specifies how the strings will be compared. - The with the specified property name. - - - - Tries to get the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - The value. - One of the enumeration values that specifies how the strings will be compared. - true if a value was successfully retrieved; otherwise, false. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Determines whether the JSON object has the specified property name. - - Name of the property. - true if the JSON object has the specified property name; otherwise, false. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries to get the with the specified property name. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that can be used to iterate through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Represents a JSON property. - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous creation. The - property returns a that contains the JSON that was read from the specified . - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous creation. The - property returns a that contains the JSON that was read from the specified . - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads a from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. - When the or - - methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a raw JSON string. - - - - - Asynchronously creates an instance of with the content of the reader's current token. - - The reader. - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous creation. The - property returns an instance of with the content of the reader's current token. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Specifies the settings used when loading JSON. - - - - - Initializes a new instance of the class. - - - - - Gets or sets how JSON comments are handled when loading JSON. - The default value is . - - The JSON comment handling. - - - - Gets or sets how JSON line info is handled when loading JSON. - The default value is . - - The JSON line info handling. - - - - Gets or sets how duplicate property names in JSON objects are handled when loading JSON. - The default value is . - - The JSON duplicate property name handling. - - - - Specifies the settings used when merging JSON. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the method used when merging JSON arrays. - - The method used when merging JSON arrays. - - - - Gets or sets how null value properties are merged. - - How null value properties are merged. - - - - Gets or sets the comparison used to match property names while merging. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - The comparison used to match property names while merging. - - - - Specifies the settings used when selecting JSON. - - - - - Gets or sets a timeout that will be used when executing regular expressions. - - The timeout that will be used when executing regular expressions. - - - - Gets or sets a flag that indicates whether an error should be thrown if - no tokens are found when evaluating part of the expression. - - - A flag that indicates whether an error should be thrown if - no tokens are found when evaluating part of the expression. - - - - - Represents an abstract JSON token. - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Writes this token to a asynchronously. - - A into which this method will write. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously creates a from a . - - An positioned at the token to read into this . - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous creation. The - property returns a that contains - the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Asynchronously creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous creation. The - property returns a that contains - the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Asynchronously creates a from a . - - A positioned at the token to read into this . - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous creation. The - property returns a that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Asynchronously creates a from a . - - A positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous creation. The - property returns a that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the path of the JSON token. - - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of tokens that contain this token, and the ancestors of this token. - - A collection of tokens that contain this token, and the ancestors of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - ToString() returns a non-JSON string value for tokens with a type of . - If you want the JSON for all token types then you should use . - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output should be formatted. - A collection of s which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to []. - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from [] to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Creates a for this token. - - A that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object. - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object. - - - - Creates an instance of the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates an instance of the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates an instance of the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates an instance of the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates a from a . - - A positioned at the token to read into this . - - A that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - A that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - Creates a from a . - - A positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - A that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - A positioned at the token to read into this . - - A that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects a using a JSONPath expression. Selects the token that matches the object path. - - - A that contains a JSONPath expression. - - A , or null. - - - - Selects a using a JSONPath expression. Selects the token that matches the object path. - - - A that contains a JSONPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - A . - - - - Selects a using a JSONPath expression. Selects the token that matches the object path. - - - A that contains a JSONPath expression. - - The used to select tokens. - A . - - - - Selects a collection of elements using a JSONPath expression. - - - A that contains a JSONPath expression. - - An of that contains the selected elements. - - - - Selects a collection of elements using a JSONPath expression. - - - A that contains a JSONPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - An of that contains the selected elements. - - - - Selects a collection of elements using a JSONPath expression. - - - A that contains a JSONPath expression. - - The used to select tokens. - An of that contains the selected elements. - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Creates a new instance of the . All child tokens are recursively cloned. - - A new instance of the . - - - - Adds an object to the annotation list of this . - - The annotation to add. - - - - Get the first annotation object of the specified type from this . - - The type of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets the first annotation object of the specified type from this . - - The of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets a collection of annotations of the specified type for this . - - The type of the annotations to retrieve. - An that contains the annotations for this . - - - - Gets a collection of annotations of the specified type for this . - - The of the annotations to retrieve. - An of that contains the annotations that match the specified type for this . - - - - Removes the annotations of the specified type from this . - - The type of annotations to remove. - - - - Removes the annotations of the specified type from this . - - The of annotations to remove. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets the at the reader's current position. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Initializes a new instance of the class. - - The token to read from. - The initial path of the token. It is prepended to the returned . - - - - Reads the next JSON token from the underlying . - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets the path of the current JSON token. - - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - A Guid value. - - - - - A Uri value. - - - - - A TimeSpan value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets the at the writer's current position. - - - - - Gets the token being written. - - The token being written. - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying . - - - - - Closes this writer. - If is set to true, the JSON is auto-completed. - - - Setting to true has no additional effect, since the underlying is a type that cannot be closed. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes a value. - An error will be raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Creates a null value. - - A null value. - - - - Creates a undefined value. - - A undefined value. - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Writes this token to a . - - A into which this method will write. - A collection of s which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents this instance. - - - ToString() returns a non-JSON string value for tokens with a type of . - If you want the JSON for all token types then you should use . - - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format provider. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - The format provider. - - A that represents this instance. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - - An object to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: - Value - Meaning - Less than zero - This instance is less than . - Zero - This instance is equal to . - Greater than zero - This instance is greater than . - - - is not of the same type as this instance. - - - - - Specifies how line information is handled when loading JSON. - - - - - Ignore line information. - - - - - Load line information. - - - - - Specifies how JSON arrays are merged together. - - - - Concatenate arrays. - - - Union arrays, skipping items that already exist. - - - Replace all array items. - - - Merge array items together, matched by index. - - - - Specifies how null value properties are merged. - - - - - The content's null value properties will be ignored during merging. - - - - - The content's null value properties will be merged. - - - - - Specifies the member serialization options for the . - - - - - All public members are serialized by default. Members can be excluded using or . - This is the default member serialization mode. - - - - - Only members marked with or are serialized. - This member serialization mode can also be set by marking the class with . - - - - - All public and private fields are serialized. Members can be excluded using or . - This member serialization mode can also be set by marking the class with - and setting IgnoreSerializableAttribute on to false. - - - - - Specifies metadata property handling options for the . - - - - - Read metadata properties located at the start of a JSON object. - - - - - Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. - - - - - Do not try to read metadata properties. - - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Specifies reference handling options for the . - Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . - - - - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - The property is not required but it cannot be a null value. - - - - - - Contains the JSON schema extension methods. - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - When this method returns, contains any error messages generated while validating. - - true if the specified is valid; otherwise, false. - - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - The validation event handler. - - - - - An in-memory representation of a JSON Schema. - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is required. - - - - - Gets or sets whether the object is read-only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets a number that the value should be divisible by. - - A number that the value should be divisible by. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). - - A flag indicating whether the value can not equal the number defined by the minimum attribute (). - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). - - A flag indicating whether the value can not equal the number defined by the maximum attribute (). - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . - - - true if items are validated using their array position; otherwise, false. - - - - - Gets or sets the of additional items. - - The of additional items. - - - - Gets or sets a value indicating whether additional items are allowed. - - - true if additional items are allowed; otherwise, false. - - - - - Gets or sets whether the array items must be unique. - - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets the pattern properties. - - The pattern properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets disallowed types. - - The disallowed types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the collection of that this schema extends. - - The collection of that this schema extends. - - - - Gets or sets the format. - - The format. - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains JSON Schema. - - A that contains JSON Schema. - A populated from the string that contains JSON Schema. - - - - Load a from a string that contains JSON Schema using the specified . - - A that contains JSON Schema. - The resolver. - A populated from the string that contains JSON Schema. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - - Returns detailed information about the schema exception. - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - - Generates a from a specified . - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - - Resolves from an id. - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Initializes a new instance of the class. - - - - - Gets a for the specified reference. - - The id. - A for the specified reference. - - - - - The value types allowed by the . - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - - Specifies undefined schema Id handling options for the . - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - - Returns detailed information related to the . - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the associated with the validation error. - - The JsonSchemaException associated with the validation error. - - - - Gets the path of the JSON location where the validation error occurred. - - The path of the JSON location where the validation error occurred. - - - - Gets the text description corresponding to the validation error. - - The text description. - - - - - Represents the callback method that will handle JSON schema validation events and the . - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - A camel case naming strategy. - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - A flag indicating whether extension data names should be processed. - - - - - Initializes a new instance of the class. - - - - - Resolves the specified property name. - - The property name to resolve. - The resolved property name. - - - - Resolves member mappings for a type, camel casing property names. - - - - - Initializes a new instance of the class. - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Used by to resolve a for a given . - - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. - - - true if the interface will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. - - - true if the attribute will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. - - - true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. - - - true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. - - The naming strategy used to resolve how property names and dictionary keys are serialized. - - - - Initializes a new instance of the class. - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates the constructor parameters. - - The constructor to create properties for. - The type's member properties. - Properties for the given . - - - - Creates a for the given . - - The matching member property. - The constructor parameter. - A created for the given . - - - - Resolves the default for the contract. - - Type of the object. - The contract's default . - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The type to create properties for. - /// The member serialization mode for the type. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's parent . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Resolved name of the property. - - - - Resolves the name of the extension data. By default no changes are made to extension data names. - - Name of the extension data. - Resolved name of the extension data. - - - - Resolves the key of the dictionary. By default is used to resolve dictionary keys. - - Key of the dictionary. - Resolved key of the dictionary. - - - - Gets the resolved name of the property. - - Name of the property. - Name of the property. - - - - The default naming strategy. Property names and dictionary keys are unchanged. - - - - - Resolves the specified property name. - - The property name to resolve. - The resolved property name. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - - Represents a trace writer that writes to the application's instances. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of will exclude messages and include , - and messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides information surrounding an error. - - - - - Gets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets the path of the JSON location where the error occurred. - - The path of the JSON location where the error occurred. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Provides data for the Error event. - - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides methods to get attributes. - - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Used by to resolve a for a given . - - - - - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The serialization context. - The reference to resolve. - The object that was resolved from the reference. - - - - Gets the reference for the specified object. - - The serialization context. - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The serialization context. - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The serialization context. - The reference. - The object to reference. - - - - Allows users to control class loading and mandate what class to load. - - - - - When implemented, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object - The type of the object the formatter creates a new instance of. - - - - When implemented, controls the binding of a serialized object to a type. - - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - - Represents a trace writer. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of will exclude messages and include , - and messages. - - The that will be used to filter the trace messages passed to the writer. - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Contract details for a used by the . - - - - - Gets the of the collection items. - - The of the collection items. - - - - Gets a value indicating whether the collection type is a multidimensional array. - - true if the collection type is a multidimensional array; otherwise, false. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the collection values. - - true if the creator has a parameter with the collection values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the default collection items . - - The converter. - - - - Gets or sets a value indicating whether the collection items preserve object references. - - true if collection items preserve object references; otherwise, false. - - - - Gets or sets the collection item reference loop handling. - - The reference loop handling. - - - - Gets or sets the collection item type name handling. - - The type name handling. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Handles serialization callback events. - - The object that raised the callback event. - The streaming context. - - - - Handles serialization error callback events. - - The object that raised the callback event. - The streaming context. - The error context. - - - - Sets extension data for an object during deserialization. - - The object to set extension data on. - The extension data key. - The extension data value. - - - - Gets extension data for an object during serialization. - - The object to set extension data on. - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets the internally resolved for the contract's type. - This converter is used as a fallback converter when no other converter is resolved. - Setting will always override this converter. - - - - - Gets or sets all methods called immediately after deserialization of the object. - - The methods called immediately after deserialization of the object. - - - - Gets or sets all methods called during deserialization of the object. - - The methods called during deserialization of the object. - - - - Gets or sets all methods called after serialization of the object graph. - - The methods called after serialization of the object graph. - - - - Gets or sets all methods called before serialization of the object. - - The methods called before serialization of the object. - - - - Gets or sets all method called when an error is thrown during the serialization of the object. - - The methods called when an error is thrown during the serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether the default creator is non-public. - - true if the default object creator is non-public; otherwise, false. - - - - Contract details for a used by the . - - - - - Gets or sets the dictionary key resolver. - - The dictionary key resolver. - - - - Gets the of the dictionary keys. - - The of the dictionary keys. - - - - Gets the of the dictionary values. - - The of the dictionary values. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the dictionary values. - - true if the creator has a parameter with the dictionary values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the object constructor. - - The object constructor. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets or sets the missing member handling used when deserializing this object. - - The missing member handling. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Gets or sets how the object's properties with null values are handled during serialization and deserialization. - - How the object's properties with null values are handled during serialization and deserialization. - - - - Gets the object's properties. - - The object's properties. - - - - Gets a collection of instances that define the parameters used with . - - - - - Gets or sets the function used to create the object. When set this function will override . - This function is called with a collection of arguments which are defined by the collection. - - The function used to create the object. - - - - Gets or sets the extension data setter. - - - - - Gets or sets the extension data getter. - - - - - Gets or sets the extension data value type. - - - - - Gets or sets the extension data name resolver. - - The extension data name resolver. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member or constructor parameter. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the type that declared this property. - - The type that declared this property. - - - - Gets or sets the order of serialization of a member. - - The numeric order of serialization. - - - - Gets or sets the name of the underlying member or parameter. - - The name of the underlying member or parameter. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the for this property. - - The for this property. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes precedence over the contract converter for the property type. - - The converter. - - - - Gets or sets the member converter. - - The member converter. - - - - Gets or sets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets or sets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets or sets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets or sets a value indicating whether this has a member attribute. - - true if has a member attribute; otherwise, false. - - - - Gets the default value. - - The default value. - - - - Gets or sets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets a value indicating whether has a value specified. - - - - - Gets or sets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets or sets the property null value handling. - - The null value handling. - - - - Gets or sets the property default value handling. - - The default value handling. - - - - Gets or sets the property reference loop handling. - - The reference loop handling. - - - - Gets or sets the property object creation handling. - - The object creation handling. - - - - Gets or sets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialized. - - A predicate used to determine whether the property should be serialized. - - - - Gets or sets a predicate used to determine whether the property should be deserialized. - - A predicate used to determine whether the property should be deserialized. - - - - Gets or sets a predicate used to determine whether the property should be serialized. - - A predicate used to determine whether the property should be serialized. - - - - Gets or sets an action used to set whether the property has been deserialized. - - An action used to set whether the property has been deserialized. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Gets or sets the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The type. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Lookup and create an instance of the type described by the argument. - - The type to create. - Optional arguments to pass to an initializing constructor of the JsonConverter. - If null, the default constructor is used. - - - - A kebab case naming strategy. - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - A flag indicating whether extension data names should be processed. - - - - - Initializes a new instance of the class. - - - - - Resolves the specified property name. - - The property name to resolve. - The resolved property name. - - - - Represents a trace writer that writes to memory. When the trace message limit is - reached then old trace messages will be removed as new messages are added. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of will exclude messages and include , - and messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Initializes a new instance of the class. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Returns an enumeration of the most recent trace messages. - - An enumeration of the most recent trace messages. - - - - Returns a of the most recent trace messages. - - - A of the most recent trace messages. - - - - - A base class for resolving how property names and dictionary keys are serialized. - - - - - A flag indicating whether dictionary keys should be processed. - Defaults to false. - - - - - A flag indicating whether extension data names should be processed. - Defaults to false. - - - - - A flag indicating whether explicitly specified property names, - e.g. a property name customized with a , should be processed. - Defaults to false. - - - - - Gets the serialized name for a given property name. - - The initial property name. - A flag indicating whether the property has had a name explicitly specified. - The serialized property name. - - - - Gets the serialized name for a given extension data name. - - The initial extension data name. - The serialized extension data name. - - - - Gets the serialized key for a given dictionary key. - - The initial dictionary key. - The serialized dictionary key. - - - - Resolves the specified property name. - - The property name to resolve. - The resolved property name. - - - - Hash code calculation - - - - - - Object equality implementation - - - - - - - Compare to another NamingStrategy - - - - - - - Represents a method that constructs an object. - - The object type to create. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Provides methods to get attributes from a , , or . - - - - - Initializes a new instance of the class. - - The instance to get attributes for. This parameter should be a , , or . - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - A snake case naming strategy. - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - A flag indicating whether extension data names should be processed. - - - - - Initializes a new instance of the class. - - - - - Resolves the specified property name. - - The property name to resolve. - The resolved property name. - - - - Specifies how strings are escaped when writing JSON text. - - - - - Only control characters (e.g. newline) are escaped. - - - - - All non-ASCII and control characters (e.g. newline) are escaped. - - - - - HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. - - - - - Indicates the method that will be used during deserialization for locating and loading assemblies. - - - - - In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. - - - - - In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. - - - - - Specifies type name handling options for the . - - - should be used with caution when your application deserializes JSON from an external source. - Incoming types should be validated with a custom - when deserializing with a value other than . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Always include the .NET type name when serializing. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON - you must specify a root type object with - or . - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Adds the elements of the specified collection to the specified generic . - - The list to add to. - The collection of elements to add. - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic that returns a result - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Returns a Restrictions object which includes our current restrictions merged - with a restriction limiting our type - - - - - Helper class for serializing immutable collections. - Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed - https://github.com/JamesNK/Newtonsoft.Json/issues/652 - - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - if set to true then allow the member to be set if read-only. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Builds a string. Unlike this class lets you reuse its internal buffer. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls result in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - An array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - Specifies that an output will not be null even if the corresponding type allows it. - - - Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. - - - Initializes the attribute with the specified return value condition. - - The return value condition. If the method returns this value, the associated parameter will not be null. - - - - Gets the return value condition. - - - Specifies that an output may be null even if the corresponding type disallows it. - - - Specifies that null is allowed as an input even if the corresponding type disallows it. - - - - Specifies that the method will not return if the associated Boolean parameter is passed the specified value. - - - - - Initializes a new instance of the class. - - - The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to - the associated parameter matches this value. - - - - Gets the condition parameter value. - - - diff --git a/bin/Release_2.85/System.Buffers.dll b/bin/Release_2.85/System.Buffers.dll deleted file mode 100644 index f2d83c5..0000000 Binary files a/bin/Release_2.85/System.Buffers.dll and /dev/null differ diff --git a/bin/Release_2.85/System.Buffers.xml b/bin/Release_2.85/System.Buffers.xml deleted file mode 100644 index e243dce..0000000 --- a/bin/Release_2.85/System.Buffers.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - System.Buffers - - - - Provides a resource pool that enables reusing instances of type . - The type of the objects that are in the resource pool. - - - Initializes a new instance of the class. - - - Creates a new instance of the class. - A new instance of the class. - - - Creates a new instance of the class using the specifed configuration. - The maximum length of an array instance that may be stored in the pool. - The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. - A new instance of the class with the specified configuration. - - - Retrieves a buffer that is at least the requested length. - The minimum length of the array. - An array of type that is at least minimumLength in length. - - - Returns an array to the pool that was previously obtained using the method on the same instance. - A buffer to return to the pool that was previously obtained using the method. - Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. - - - Gets a shared instance. - A shared instance. - - - \ No newline at end of file diff --git a/bin/Release_2.85/System.Collections.Immutable.dll b/bin/Release_2.85/System.Collections.Immutable.dll deleted file mode 100644 index 8bf1e47..0000000 Binary files a/bin/Release_2.85/System.Collections.Immutable.dll and /dev/null differ diff --git a/bin/Release_2.85/System.Collections.Immutable.xml b/bin/Release_2.85/System.Collections.Immutable.xml deleted file mode 100644 index f5b6280..0000000 --- a/bin/Release_2.85/System.Collections.Immutable.xml +++ /dev/null @@ -1,5143 +0,0 @@ - - - - System.Collections.Immutable - - - - Represents an immutable collection of key/value pairs. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The type of keys in the dictionary. - The type of values in the dictionary. - - - Adds an element with the specified key and value to the dictionary. - The key of the element to add. - The value of the element to add. - A new immutable dictionary that contains the additional key/value pair. - The given key already exists in the dictionary but has a different value. - - - Adds the specified key/value pairs to the dictionary. - The key/value pairs to add. - A new immutable dictionary that contains the additional key/value pairs. - One of the given keys already exists in the dictionary but has a different value. - - - Retrieves an empty dictionary that has the same ordering and key/value comparison rules as this dictionary instance. - An empty dictionary with equivalent ordering and key/value comparison rules. - - - Determines whether the immutable dictionary contains the specified key/value pair. - The key/value pair to locate. - - if the specified key/value pair is found in the dictionary; otherwise, . - - - Removes the element with the specified key from the immutable dictionary. - The key of the element to remove. - A new immutable dictionary with the specified element removed; or this instance if the specified key cannot be found in the dictionary. - - - Removes the elements with the specified keys from the immutable dictionary. - The keys of the elements to remove. - A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. - - - Sets the specified key and value in the immutable dictionary, possibly overwriting an existing value for the key. - The key of the entry to add. - The key value to set. - A new immutable dictionary that contains the specified key/value pair. - - - Sets the specified key/value pairs in the immutable dictionary, possibly overwriting existing values for the keys. - The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. - A new immutable dictionary that contains the specified key/value pairs. - - - Determines whether this dictionary contains a specified key. - The key to search for. - The matching key located in the dictionary if found, or equalkey if no match is found. - - if a match for is found; otherwise, . - - - Represents a list of elements that cannot be modified. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The type of elements in the list. - - - Makes a copy of the list, and adds the specified object to the end of the copied list. - The object to add to the list. - A new list with the object added. - - - Makes a copy of the list and adds the specified objects to the end of the copied list. - The objects to add to the list. - A new list with the elements added. - - - Creates a list with all the items removed, but with the same sorting and ordering semantics as this list. - An empty list that has the same sorting and ordering semantics as this instance. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. - The object to locate in the . This value can be null for reference types. - The zero-based starting indexes of the search. 0 (zero) is valid in an empty list. - The number of elements in the section to search. - The equality comparer to use to locate . - The zero-based index of the first occurrence of within the range of elements in the that starts at and contains number of elements if found; otherwise -1. - - - Inserts the specified element at the specified index in the immutable list. - The zero-based index at which to insert the value. - The object to insert. - A new immutable list that includes the specified element. - - - Inserts the specified elements at the specified index in the immutable list. - The zero-based index at which the new elements should be inserted. - The elements to insert. - A new immutable list that includes the specified elements. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the that contains the specified number of elements and ends at the specified index. - The object to locate in the list. The value can be for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The number of elements in the section to search. - The equality comparer to match . - Returns . - - - Removes the first occurrence of a specified object from this immutable list. - The object to remove from the list. - The equality comparer to use to locate . - A new list with the specified object removed. - - - Removes all the elements that match the conditions defined by the specified predicate. - The delegate that defines the conditions of the elements to remove. - A new immutable list with the elements removed. - - - Removes the element at the specified index of the immutable list. - The index of the element to remove. - A new list with the element removed. - - - Removes the specified object from the list. - The objects to remove from the list. - The equality comparer to use to determine if match any objects in the list. - A new immutable list with the specified objects removed, if matched objects in the list. - - - Removes a range of elements from the . - The zero-based starting index of the range of elements to remove. - The number of elements to remove. - A new immutable list with the elements removed. - - - Returns a new list with the first matching element in the list replaced with the specified element. - The element to be replaced. - The element to replace the first occurrence of with - The equality comparer to use for matching . - A new list that contains , even if is the same as . - - does not exist in the list. - - - Replaces an element in the list at a given position with the specified element. - The position in the list of the element to replace. - The element to replace the old element with. - A new list that contains the new element, even if the element at the specified location is the same as the new element. - - - Represents an immutable first-in, first-out collection of objects. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The type of elements in the queue. - - - Returns a new queue with all the elements removed. - An empty immutable queue. - - - Removes the first element in the immutable queue, and returns the new queue. - The new immutable queue with the first element removed. This value is never . - The queue is empty. - - - Adds an element to the end of the immutable queue, and returns the new queue. - The element to add. - The new immutable queue with the specified element added. - - - Gets a value that indicates whether this immutable queue is empty. - - if this queue is empty; otherwise, . - - - Returns the element at the beginning of the immutable queue without removing it. - The element at the beginning of the queue. - The queue is empty. - - - Represents a set of elements that can only be modified by creating a new instance of the set. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The type of element stored in the set. - - - Adds the specified element to this immutable set. - The element to add. - A new set with the element added, or this set if the element is already in the set. - - - Retrieves an empty immutable set that has the same sorting and ordering semantics as this instance. - An empty set that has the same sorting and ordering semantics as this instance. - - - Determines whether this immutable set contains a specified element. - The element to locate in the set. - - if the set contains the specified value; otherwise, . - - - Removes the elements in the specified collection from the current immutable set. - The collection of items to remove from this set. - A new set with the items removed; or the original set if none of the items were in the set. - - - Creates an immutable set that contains only elements that exist in this set and the specified set. - The collection to compare to the current . - A new immutable set that contains elements that exist in both sets. - - - Determines whether the current immutable set is a proper (strict) subset of the specified collection. - The collection to compare to the current set. - - if the current set is a proper subset of the specified collection; otherwise, . - - - Determines whether the current immutable set is a proper (strict) superset of the specified collection. - The collection to compare to the current set. - - if the current set is a proper superset of the specified collection; otherwise, . - - - Determines whether the current immutable set is a subset of a specified collection. - The collection to compare to the current set. - - if the current set is a subset of the specified collection; otherwise, . - - - Determines whether the current immutable set is a superset of a specified collection. - The collection to compare to the current set. - - if the current set is a superset of the specified collection; otherwise, . - - - Determines whether the current immutable set overlaps with the specified collection. - The collection to compare to the current set. - - if the current set and the specified collection share at least one common element; otherwise, . - - - Removes the specified element from this immutable set. - The element to remove. - A new set with the specified element removed, or the current set if the element cannot be found in the set. - - - Determines whether the current immutable set and the specified collection contain the same elements. - The collection to compare to the current set. - - if the sets are equal; otherwise, . - - - Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both. - The collection to compare to the current set. - A new set that contains the elements that are present only in the current set or in the specified collection, but not both. - - - Determines whether the set contains a specified value. - The value to search for. - The matching value from the set, if found, or equalvalue if there are no matches. - - if a matching value was found; otherwise, . - - - Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection. - The collection to add elements from. - A new immutable set with the items added; or the original set if all the items were already in the set. - - - Represents an immutable last-in-first-out (LIFO) collection. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The type of elements in the stack. - - - Removes all objects from the immutable stack. - An empty immutable stack. - - - Gets a value that indicates whether this immutable stack is empty. - - if this stack is empty; otherwise,. - - - Returns the element at the top of the immutable stack without removing it. - The element at the top of the stack. - The stack is empty. - - - Removes the element at the top of the immutable stack and returns the new stack. - The new stack; never - The stack is empty. - - - Inserts an element at the top of the immutable stack and returns the new stack. - The element to push onto the stack. - The new stack. - - - Provides methods for creating an array that is immutable; meaning it cannot be changed once it is created. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - Searches the sorted immutable array for a specified element using the default comparer and returns the zero-based index of the element, if it's found. - The sorted array to search. - The object to search for. - The type of element stored in the array. - The zero-based index of the item in the array, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . - - does not implement or the search encounters an element that does not implement . - - - Searches a sorted immutable array for a specified element and returns the zero-based index of the element, if it's found. - The sorted array to search. - The object to search for. - The comparer implementation to use when comparing elements, or null to use the default comparer. - The type of element stored in the array. - The zero-based index of the item in the array, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . - - is null and does not implement or the search encounters an element that does not implement . - - - Searches a sorted immutable array for a specified element and returns the zero-based index of the element, if it's found. - The sorted array to search. - The starting index of the range to search. - The length of the range to search. - The object to search for. - The type of element stored in the array. - The zero-based index of the item in the array, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . - - does not implement or the search encounters an element that does not implement . - - and do not specify a valid range in . - - is less than the lower bound of . --or- - is less than zero. - - - Searches a sorted immutable array for a specified element and returns the zero-based index of the element. - The sorted array to search. - The starting index of the range to search. - The length of the range to search. - The object to search for. - The comparer to use when comparing elements for equality or to use the default comparer. - The type of element stored in the array. - The zero-based index of the item in the array, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . - - is null and does not implement or the search encounters an element that does not implement . - - and do not specify a valid range in . --or- - is , and is of a type that is not compatible with the elements of . - - is less than the lower bound of . --or- - is less than zero. - - - Creates an empty immutable array. - The type of elements stored in the array. - An empty immutable array. - - - Creates an immutable array that contains the specified object. - The object to store in the array. - The type of elements stored in the array. - An immutable array that contains the specified object. - - - Creates an immutable array that contains the specified objects. - The first object to store in the array. - The second object to store in the array. - The type of elements stored in the array. - An immutable array that contains the specified objects. - - - Creates an immutable array that contains the specified objects. - The first object to store in the array. - The second object to store in the array. - The third object to store in the array. - The type of elements stored in the array. - An immutable array that contains the specified objects. - - - Creates an immutable array that contains the specified objects. - The first object to store in the array. - The second object to store in the array. - The third object to store in the array. - The fourth object to store in the array. - The type of elements stored in the array. - An immutable array that contains the specified objects. - - - Creates an immutable array from the specified array of objects. - The array of objects to populate the array with. - The type of elements stored in the array. - An immutable array that contains the array of items. - - - Creates an immutable array with specified objects from another array. - The source array of objects. - The index of the first element to copy from . - The number of elements from to include in this immutable array. - The type of elements stored in the array. - An immutable array that contains the specified objects from the source array. - - - Creates an immutable array with the specified objects from another immutable array. - The source array of objects. - The index of the first element to copy from . - The number of elements from to include in this immutable array. - The type of elements stored in the array. - An immutable array that contains the specified objects from the source array. - - - Creates a mutable array that can be converted to an without allocating new memory. - The type of elements stored in the builder. - A mutable array of the specified type that can be efficiently converted to an immutable array. - - - Creates a mutable array that can be converted to an without allocating new memory. - The initial capacity of the builder. - The type of elements stored in the builder. - A mutable array of the specified type that can be efficiently converted to an immutable array. - - - Creates a new populated with the specified items. - The elements to add to the array. - The type of element stored in the array. - An immutable array that contains the specified items. - - - Initializes a new instance of the struct. - The source array to initialize the resulting array with. - The function to apply to each element from the source array. - - - - - Initializes a new instance of the struct. - The source array to initialize the resulting array with. - The index of the first element in the source array to include in the resulting array. - The number of elements from the source array to include in the resulting array. - The function to apply to each element from the source array included in the resulting array. - - - - - Initializes a new instance of the struct. - The source array to initialize the resulting array with. - The function to apply to each element from the source array. - An argument to be passed to the selector mapping function. - - - - - - Initializes a new instance of the struct. - The source array to initialize the resulting array with. - The index of the first element in the source array to include in the resulting array. - The number of elements from the source array to include in the resulting array. - The function to apply to each element from the source array included in the resulting array. - An argument to be passed to the selector mapping function. - - - - - - Creates an immutable array from the specified collection. - The collection of objects to copy to the immutable array. - The type of elements contained in . - An immutable array that contains the specified collection of objects. - - - Creates an immutable array from the current contents of the builder's array. - The builder to create the immutable array from. - The type of elements contained in the immutable array. - An immutable array that contains the current contents of the builder's array. - - - Represents an array that is immutable; meaning it cannot be changed once it is created. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The type of element stored by the array. - - - Returns a copy of the original array with the specified item added to the end. - The item to be added to the end of the array. - A new array with the specified item added to the end. - - - Returns a copy of the original array with the specified elements added to the end of the array. - The elements to add to the array. - A new array with the elements added. - - - Returns a copy of the original array with the specified elements added to the end of the array. - The elements to add to the array. - A new array with the elements added. - - - Returns a new immutable array that contains the elements of this array cast to a different type. - The type of array element to return. - An immutable array that contains the elements of this array, cast to a different type. If the cast fails, returns an array whose property returns . - - - Creates a new read-only memory region over this immutable array. - The read-only memory representation of this immutable array. - - - Creates a new read-only span over this immutable array. - The read-only span representation of this immutable array. - - - A writable array accessor that can be converted into an instance without allocating extra memory. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - - Adds the specified item to the array. - The object to add to the array. - - - Adds the specified items to the end of the array. - The items to add to the array. - - - Adds the specified items to the end of the array. - The items to add to the array. - The number of elements from the source array to add. - - - Adds the specified items to the end of the array. - The items to add to the array. - - - Adds the specified items to the end of the array. - The items to add to the array. - - - Adds the specified items to the end of the array. - The items to add to the array. - The number of elements from the source array to add. - - - Adds the specified items to the end of the array. - The items to add to the array. - - - Adds the specified items that derive from the type currently in the array, to the end of the array. - The items to add to end of the array. - The type that derives from the type of item already in the array. - - - Adds the specified items that derive from the type currently in the array, to the end of the array. - The items to add to the end of the array. - The type that derives from the type of item already in the array. - - - Adds the specified items that derive from the type currently in the array, to the end of the array. - The items to add to the end of the array. - The type that derives from the type of item already in the array. - - - Gets or sets the length of the internal array. When set, the internal array is reallocated to the given capacity if it is not already the specified length. - The length of the internal array. - - - Removes all items from the array. - - - Determines whether the array contains a specific value. - The object to locate in the array. - - if the object is found; otherwise, . - - - Copies the current contents to the specified array. - The array to copy to. - The index to start the copy operation. - - - Gets or sets the number of items in the array. - The number of items in the array. - - - Gets an object that can be used to iterate through the collection. - An object that can be used to iterate through the collection. - - - Determines the index of a specific item in the array. - The item to locate in the array. - The index of if it's found in the list; otherwise, -1. - - - Determines the index of the specified item. - The item to locate in the array. - The starting position of the search. - The index of if it's found in the list; otherwise, -1. - - - Determines the index of the specified item. - The item to locate in the array. - The starting position of the search. - The number of elements to search. - The index of if it's found in the list; otherwise, -1. - - - Determines the index for the specified item. - The item to locate in the array. - The index at which to begin the search. - The starting position of the search. - The equality comparer to use in the search - The index of if it's found in the list; otherwise, -1. - - - Inserts an item in the array at the specified index. - The zero-based index at which to insert the item. - The object to insert into the array. - - - Gets or sets the item at the specified index. - The index of the item to get or set. - The item at the specified index. - The specified index is not in the array. - - - Gets a read-only reference to the element at the specified index. - The item index. - The read-only reference to the element at the specified index. - - is greater or equal to the array count. - - - Determines the 0-based index of the last occurrence of the specified item in this array. - The item to search for. - The 0-based index where the item was found; or -1 if it could not be found. - - - Determines the 0-based index of the last occurrence of the specified item in this array. - The item to search for. - The starting position of the search. - The 0-based index into the array where the item was found; or -1 if it could not be found. - - - Determines the 0-based index of the last occurrence of the specified item in this array. - The item to search for. - The starting position of the search. - The number of elements to search. - The 0-based index into the array where the item was found; or -1 if it could not be found. - - - Determines the 0-based index of the last occurrence of the specified item in this array. - The item to search for. - The starting position of the search. - The number of elements to search. - The equality comparer to use in the search. - The 0-based index into the array where the item was found; or -1 if it could not be found. - - - Extracts the internal array as an and replaces it with a zero length array. - When doesn't equal . - - - Removes the specified element. - The item to remove. - - if was found and removed; otherwise, . - - - Removes the item at the specified index from the array. - The zero-based index of the item to remove. - - - Reverses the order of elements in the collection. - - - Sorts the contents of the array. - - - Sorts the contents of the array. - The comparer to use for sorting. If comparer is , the default comparer for the elements type in the array is used. - - - Sorts the elements in the entire array using the specified . - The to use when comparing elements. - - is null. - - - Sorts the contents of the array. - The starting index for the sort. - The number of elements to include in the sort. - The comparer to use for sorting. If comparer is , the default comparer for the elements type in the array is used. - - - Gets a value that indicates whether the is read-only. - - if the is read-only; otherwise, . - - - Returns an enumerator that iterates through the array. - An enumerator that iterates through the array. - - - Returns an enumerator that iterates through the array. - An enumerator that iterates through the array. - - - Creates a new array with the current contents of this . - A new array with the contents of this . - - - Returns an immutable array that contains the current contents of this . - An immutable array that contains the current contents of this . - - - Initializes a new instance of the struct by casting the underlying array to an array of type . - - Thrown if the cast is illegal. - - - Initializes a new instance of the struct based on the contents of an existing instance, allowing a covariant static cast to efficiently reuse the existing array. - The array to initialize the array with. No copy is made. - - - - Returns an array with all the elements removed. - An array with all of the elements removed. - - - Determines whether the specified item exists in the array. - The item to search for. - - if the specified item was found in the array; otherwise . - - - Copies the contents of this array to the specified array. - The array to copy to. - - - Copies the contents of this array to the specified array starting at the specified destination index. - The array to copy to. - The index in where copying begins. - - - Copies the specified items in this array to the specified array at the specified starting index. - The index of this array where copying begins. - The array to copy to. - The index in where copying begins. - The number of elements to copy from this array. - - - Gets an empty immutable array. - - - An array enumerator. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - - Gets the current item. - The current item. - - - Advances to the next value in the array. - - if another item exists in the array; otherwise, . - - - Indicates whether specified array is equal to this array. - An object to compare with this object. - - if is equal to this array; otherwise, . - - - Determines if this array is equal to the specified object. - The to compare with this array. - - if this array is equal to ; otherwise, . - - - Returns an enumerator that iterates through the contents of the array. - An enumerator. - - - Returns a hash code for this instance. - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - Searches the array for the specified item. - The item to search for. - The zero-based index position of the item if it is found, or -1 if it is not. - - - Searches the array for the specified item. - The item to search for. - The index at which to begin the search. - The zero-based index position of the item if it is found, or -1 if it is not. - - - Searches the array for the specified item. - The item to search for. - The index at which to begin the search. - The equality comparer to use in the search. - The zero-based index position of the item if it is found, or -1 if it is not. - - - Searches the array for the specified item. - The item to search for. - The index at which to begin the search. - The number of elements to search. - The zero-based index position of the item if it is found, or -1 if it is not. - - - Searches the array for the specified item. - The item to search for. - The index at which to begin the search. - The number of elements to search. - The equality comparer to use in the search. - The zero-based index position of the item if it is found, or -1 if it is not. - - - Returns a new array with the specified value inserted at the specified position. - The 0-based index into the array at which the new item should be added. - The item to insert at the start of the array. - A new array with the item inserted at the specified index. - - - Inserts the specified values at the specified index. - The index at which to insert the value. - The elements to insert. - A new immutable array with the items inserted at the specified index. - - - Inserts the specified values at the specified index. - The index at which to insert the value. - The elements to insert. - A new immutable array with the items inserted at the specified index. - - - Gets a value indicating whether this array was declared but not initialized. - - if the is ; otherwise, . - - - Gets a value indicating whether this is empty or is not initialized. - - if the is or ; otherwise, . - - - Gets a value indicating whether this is empty. - - if the is empty; otherwise, . - - - Gets the element at the specified index in the immutable array. - The zero-based index of the element to get. - The element at the specified index in the immutable array. - - - Gets a read-only reference to the element at the specified in the read-only list. - The zero-based index of the element to get a reference to. - A read-only reference to the element at the specified in the read-only list. - - - Searches the array for the specified item; starting at the end of the array. - The item to search for. - The 0-based index into the array where the item was found; or -1 if it could not be found. - - - Searches the array for the specified item; starting at the end of the array. - The item to search for. - The index at which to begin the search. - The 0-based index into the array where the item was found; or -1 if it could not be found. - - - Searches the array for the specified item; starting at the end of the array. - The item to search for. - The index at which to begin the search. - The number of elements to search. - The 0-based index into the array where the item was found; or -1 if it could not be found. - - - Searches the array for the specified item; starting at the end of the array. - The item to search for. - The index at which to begin the search. - The number of elements to search. - The equality comparer to use in the search. - The 0-based index into the array where the item was found; or -1 if it could not be found. - - - Gets the number of elements in the array. - The number of elements in the array - - - Filters the elements of this array to those assignable to the specified type. - The type to filter the elements of the sequence on. - An that contains elements from the input sequence of type of . - - - Returns a value that indicates if two arrays are equal. - The array to the left of the operator. - The array to the right of the operator. - - if the arrays are equal; otherwise, . - - - Returns a value that indicates if two arrays are equal. - The array to the left of the operator. - The array to the right of the operator. - - if the arrays are equal; otherwise, . - - - Returns a value that indicates whether two arrays are not equal. - The array to the left of the operator. - The array to the right of the operator. - - if the arrays are not equal; otherwise, . - - - Checks for inequality between two array. - The object to the left of the operator. - The object to the right of the operator. - - if the two arrays are not equal; otherwise, . - - - Returns an array with the first occurrence of the specified element removed from the array. If no match is found, the current array is returned. - The item to remove. - A new array with the item removed. - - - Returns an array with the first occurrence of the specified element removed from the array. -If no match is found, the current array is returned. - The item to remove. - The equality comparer to use in the search. - A new array with the specified item removed. - - - Removes all the items from the array that meet the specified condition. - The delegate that defines the conditions of the elements to remove. - A new array with items that meet the specified condition removed. - - - Returns an array with the element at the specified position removed. - The 0-based index of the element to remove from the returned array. - A new array with the item at the specified index removed. - - - Removes the specified items from this array. - The items to remove if matches are found in this list. - A new array with the elements removed. - - - Removes the specified items from this array. - The items to remove if matches are found in this list. - The equality comparer to use in the search. - A new array with the elements removed. - - - Removes the specified values from this list. - The items to remove if matches are found in this list. - A new list with the elements removed. - - - Removes the specified items from this list. - The items to remove if matches are found in this list. - The equality comparer to use in the search. - A new array with the elements removed. - - - Returns an array with the elements at the specified position removed. - The 0-based index of the starting element to remove from the array. - The number of elements to remove from the array. - The new array with the specified elements removed. - - - Finds the first element in the array equal to the specified value and replaces the value with the specified new value. - The value to find and replace in the array. - The value to replace the oldvalue with. - A new array that contains even if the new and old values are the same. - - is not found in the array. - - - Finds the first element in the array equal to the specified value and replaces the value with the specified new value. - The value to find and replace in the array. - The value to replace the oldvalue with. - The equality comparer to use to compare values. - A new array that contains even if the new and old values are the same. - - is not found in the array. - - - Replaces the item at the specified index with the specified item. - The index of the item to replace. - The item to add to the list. - The new array that contains at the specified index. - - - Sorts the elements in the immutable array using the default comparer. - A new immutable array that contains the items in this array, in sorted order. - - - Sorts the elements in the immutable array using the specified comparer. - The implementation to use when comparing elements, or to use the default comparer - A new immutable array that contains the items in this array, in sorted order. - - - Sorts the elements in the entire using the specified . - The to use when comparing elements. - The sorted list. - - is null. - - - Sorts the specified elements in the immutable array using the specified comparer. - The index of the first element to sort. - The number of elements to include in the sort. - The implementation to use when comparing elements, or to use the default comparer - A new immutable array that contains the items in this array, in sorted order. - - - Throws in all cases. - The item to add to the end of the array. - - - Throws in all cases. - - - Gets the number of array in the collection. - Thrown if the property returns true. - - - Gets a value indicating whether this instance is read only. - - if this instance is read only; otherwise, . - - - Throws in all cases. - The object to remove from the array. - Throws in all cases. - - - Returns an enumerator that iterates through the array. - An enumerator that can be used to iterate through the array. - - - Throws in all cases. - The index of the location to insert the item. - The item to insert. - - - Gets or sets the element at the specified index in the read-only list. - The zero-based index of the element to get. - The element at the specified index in the read-only list. - Always thrown from the setter. - Thrown if the property returns true. - - - Throws in all cases. - The index. - - - Gets the number of array in the collection. - Thrown if the property returns true. - - - Gets the element at the specified index. - The index. - The element. - Thrown if the property returns true. - - - Copies this array to another array starting at the specified index. - The array to copy this array to. - The index in the destination array to start the copy operation. - - - Gets the size of the array. - Thrown if the property returns true. - - - See the interface. - - - Gets the sync root. - - - Returns an enumerator that iterates through the immutable array. - An enumerator that iterates through the immutable array. - The property returns . - - - Throws in all cases. - The value to add to the array. - Throws in all cases. - Thrown in all cases. - - - Throws in all cases. - Thrown in all cases. - - - Throws in all cases. - The value to check for. - Throws in all cases. - - - Gets the value at the specified index. - The value to return the index of. - The value of the element at the specified index. - - - Throws in all cases. - Index that indicates where to insert the item. - The value to insert. - Thrown in all cases. - - - Gets a value indicating whether this instance is fixed size. - - if this instance is fixed size; otherwise, . - - - Gets a value indicating whether this instance is read only. - - if this instance is read only; otherwise, . - - - Gets or sets the at the specified index. - The index. - The object at the specified index. - Always thrown from the setter. - Thrown if the property returns true. - - - Throws in all cases. - The value to remove from the array. - Thrown in all cases. - - - Throws in all cases. - The index of the item to remove. - Thrown in all cases. - - - Returns a copy of the original array with the specified item added to the end. - The value to add to the end of the array. - A new array with the specified item added to the end. - - - Returns a copy of the original array with the specified elements added to the end of the array. - The elements to add to the end of the array. - A new array with the elements added to the end. - - - Returns an array with all the elements removed. - An array with all the elements removed. - - - Returns a new array with the specified value inserted at the specified position. - The 0-based index into the array at which the new item should be added. - The item to insert at the start of the array. - A new array with the specified value inserted. - - - Inserts the specified values at the specified index. - The index at which to insert the value. - The elements to insert. - A new array with the specified values inserted. - - - Returns an array with the first occurrence of the specified element removed from the array; if no match is found, the current array is returned. - The value to remove from the array. - The equality comparer to use in the search. - A new array with the value removed. - - - Removes all the items from the array that meet the specified condition. - The delegate that defines the conditions of the elements to remove. - A new array with items that meet the specified condition removed. - - - Returns an array with the element at the specified position removed. - The 0-based index of the element to remove from the returned array. - A new array with the specified item removed. - - - Removes the specified items from this array. - The items to remove if matches are found in this list. - The equality comparer to use in the search. - A new array with the elements removed. - - - Returns an array with the elements at the specified position removed. - The 0-based index of the starting element to remove from the array. - The number of elements to remove from the array. - The new array with the specified elements removed. - - - Finds the first element in the array equal to the specified value and replaces the value with the specified new value. - The value to find and replace in the array. - The value to replace the oldvalue with. - The equality comparer to use to compare values. - A new array that contains even if the new and old values are the same. - - is not found in the array. - - - Replaces the item at the specified index with the specified item. - The index of the item to replace. - The value to add to the list. - The new array that contains at the specified index. - - - Determines whether the current collection element precedes, occurs in the same position as, or follows another element in the sort order. - The element to compare with the current instance. - The object used to compare members of the current array with the corresponding members of other array. - An integer that indicates whether the current element precedes, is in the same position or follows the other element. - The arrays are not the same length. - - - Determines whether this array is structurally equal to the specified array. - The array to compare with the current instance. - An object that determines whether the current instance and other are structurally equal. - - if the two arrays are structurally equal; otherwise, . - - - Returns a hash code for the current instance. - An object that computes the hash code of the current object. - The hash code for the current instance. - - - Creates a mutable array that has the same contents as this array and can be efficiently mutated across multiple operations using standard mutable interfaces. - The new builder with the same contents as this array. - - - Provides a set of initialization methods for instances of the class. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - Determines whether the specified immutable dictionary contains the specified key/value pair. - The immutable dictionary to search. - The key to locate in the immutable dictionary. - The value to locate on the specified key, if the key is found. - The type of the keys in the immutable dictionary. - The type of the values in the immutable dictionary. - - if this map contains the specified key/value pair; otherwise, . - - - Creates an empty immutable dictionary. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - An empty immutable dictionary. - - - Creates an empty immutable dictionary that uses the specified key comparer. - The implementation to use to determine the equality of keys in the dictionary. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - An empty immutable dictionary. - - - Creates an empty immutable dictionary that uses the specified key and value comparers. - The implementation to use to determine the equality of keys in the dictionary. - The implementation to use to determine the equality of values in the dictionary. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - An empty immutable dictionary. - - - Creates a new immutable dictionary builder. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - The new builder. - - - Creates a new immutable dictionary builder. - The key comparer. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - The new builder. - - - Creates a new immutable dictionary builder. - The key comparer. - The value comparer. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - The new builder. - - - Creates a new immutable dictionary that contains the specified items. - The items used to populate the dictionary before it's immutable. - The type of keys in the dictionary. - The type of values in the dictionary. - A new immutable dictionary that contains the specified items. - - - Creates a new immutable dictionary that contains the specified items and uses the specified key comparer. - The comparer implementation to use to compare keys for equality. - The items to add to the dictionary before it's immutable. - The type of keys in the dictionary. - The type of values in the dictionary. - A new immutable dictionary that contains the specified items and uses the specified comparer. - - - Creates a new immutable dictionary that contains the specified items and uses the specified key comparer. - The comparer implementation to use to compare keys for equality. - The comparer implementation to use to compare values for equality. - The items to add to the dictionary before it's immutable. - The type of keys in the dictionary. - The type of values in the dictionary. - A new immutable dictionary that contains the specified items and uses the specified comparer. - - - Gets the value for a given key if a matching key exists in the dictionary. - The dictionary to retrieve the value from. - The key to search for. - The type of the key. - The type of the value. - The value for the key, or default(TValue) if no matching key was found. - - - Gets the value for a given key if a matching key exists in the dictionary. - The dictionary to retrieve the value from. - The key to search for. - The default value to return if no matching key is found in the dictionary. - The type of the key. - The type of the value. - The value for the key, or if no matching key was found. - - - Constructs an immutable dictionary from an existing collection of elements, applying a transformation function to the source keys. - The source collection used to generate the immutable dictionary. - The function used to transform keys for the immutable dictionary. - The type of element in the source collection. - The type of key in the resulting immutable dictionary. - The immutable dictionary that contains elements from , with keys transformed by applying . - - - Constructs an immutable dictionary based on some transformation of a sequence. - The source collection used to generate the immutable dictionary. - The function used to transform keys for the immutable dictionary. - The key comparer to use for the dictionary. - The type of element in the source collection. - The type of key in the resulting immutable dictionary. - The immutable dictionary that contains elements from , with keys transformed by applying . - - - Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents. - The sequence of key/value pairs to enumerate. - The type of the keys in the dictionary. - The type of the values in the dictionary. - An immutable dictionary that contains the key/value pairs in the specified sequence. - - - Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key comparer. - The sequence of key/value pairs to enumerate. - The key comparer to use when building the immutable dictionary. - The type of the keys in the dictionary. - The type of the values in the dictionary. - An immutable dictionary that contains the key/value pairs in the specified sequence. - - - Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key and value comparers. - The sequence of key/value pairs to enumerate. - The key comparer to use when building the immutable dictionary. - The value comparer to use for the immutable dictionary. - The type of the keys in the dictionary. - The type of the values in the dictionary. - An immutable dictionary that contains the key/value pairs in the specified sequence. - - - Creates an immutable dictionary from the current contents of the builder's dictionary. - The builder to create the immutable dictionary from. - The type of the keys in the dictionary. - The type of the values in the dictionary. - An immutable dictionary that contains the current contents in the builder's dictionary. - - - Enumerates and transforms a sequence, and produces an immutable dictionary of its contents. - The sequence to enumerate to generate the dictionary. - The function that will produce the key for the dictionary from each sequence element. - The function that will produce the value for the dictionary from each sequence element. - The type of the elements in the sequence. - The type of the keys in the resulting dictionary. - The type of the values in the resulting dictionary. - An immutable dictionary that contains the items in the specified sequence. - - - Enumerates and transforms a sequence, and produces an immutable dictionary of its contents by using the specified key comparer. - The sequence to enumerate to generate the dictionary. - The function that will produce the key for the dictionary from each sequence element. - The function that will produce the value for the dictionary from each sequence element. - The key comparer to use for the dictionary. - The type of the elements in the sequence. - The type of the keys in the resulting dictionary. - The type of the values in the resulting dictionary. - An immutable dictionary that contains the items in the specified sequence. - - - Enumerates and transforms a sequence, and produces an immutable dictionary of its contents by using the specified key and value comparers. - The sequence to enumerate to generate the dictionary. - The function that will produce the key for the dictionary from each sequence element. - The function that will produce the value for the dictionary from each sequence element. - The key comparer to use for the dictionary. - The value comparer to use for the dictionary. - The type of the elements in the sequence. - The type of the keys in the resulting dictionary. - The type of the values in the resulting dictionary. - An immutable dictionary that contains the items in the specified sequence. - - - Represents an immutable, unordered collection of keys and values. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The type of the keys in the dictionary. - The type of the values in the dictionary. - - - Adds an element with the specified key and value to the immutable dictionary. - The key of the element to add. - The value of the element to add. - A new immutable dictionary that contains the additional key/value pair. - The given key already exists in the dictionary but has a different value. - - - Adds the specified key/value pairs to the immutable dictionary. - The key/value pairs to add. - A new immutable dictionary that contains the additional key/value pairs. - One of the given keys already exists in the dictionary but has a different value. - - - Represents a hash map that mutates with little or no memory allocations and that can produce or build on immutable hash map instances very efficiently. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - - - Adds an element that has the specified key and value to the immutable dictionary. - The key of the element to add. - The value of the element to add. - - is null. - An element with the same key already exists in the dictionary. - The dictionary is read-only. - - - Adds the specified item to the immutable dictionary. - The object to add to the dictionary. - The dictionary is read-only. - - - Adds a sequence of values to this collection. - The items to add to this collection. - - - Removes all items from the immutable dictionary. - The dictionary is read-only. - - - Determines whether the immutable dictionary contains a specific value. - The object to locate in the dictionary. - - if is found in the dictionary; otherwise, . - - - Determines whether the immutable dictionary contains an element that has the specified key. - The key to locate in the dictionary. - - if the dictionary contains an element with the key; otherwise, . - - is null. - - - Determines whether the immutable dictionary contains an element that has the specified value. - The value to locate in the immutable dictionary. The value can be for reference types. - - if the dictionary contains an element with the specified value; otherwise, . - - - Gets the number of elements contained in the immutable dictionary. - The number of elements contained in the immutable dictionary. - - - Returns an enumerator that iterates through the immutable dictionary. - An enumerator that can be used to iterate through the collection. - - - Gets the value for a given key if a matching key exists in the dictionary. - The key to search for. - The value for the key, or default(TValue) if no matching key was found. - - - Gets the value for a given key if a matching key exists in the dictionary. - The key to search for. - The default value to return if no matching key is found in the dictionary. - The value for the key, or if no matching key was found. - - - Gets or sets the element with the specified key. - The element to get or set. - The element that has the specified key. - - is . - The property is being retrieved, and is not found. - The property is being set, and the is read-only. - - - Gets or sets the key comparer. - The key comparer. - - - Gets a collection that contains the keys of the immutable dictionary. - A collection that contains the keys of the object that implements the immutable dictionary. - - - Removes the element with the specified key from the immutable dictionary. - The key of the element to remove. - - if the element is successfully removed; otherwise, . This method also returns if was not found in the dictionary. - - is null. - The dictionary is read-only. - - - Removes the first occurrence of a specific object from the immutable dictionary. - The object to remove from the dictionary. - - if was successfully removed from the dictionary; otherwise, . This method also returns false if is not found in the dictionary. - The dictionary is read-only. - - - Removes any entries with keys that match those found in the specified sequence from the immutable dictionary. - The keys for entries to remove from the dictionary. - - - - - - - - - - - Copies the elements of the dictionary to an array of type , starting at the specified array index. - The one-dimensional array of type that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value that indicates whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . - - - Adds an element with the provided key and value to the dictionary object. - The key of the element to add. - The value of the element to add. - - - Determines whether the dictionary object contains an element with the specified key. - The key to locate. - - if the dictionary contains an element with the key; otherwise, . - - - Returns an object for the dictionary. - An object for the dictionary. - - - - Gets a value that indicates whether the object has a fixed size. - - if the object has a fixed size; otherwise, . - - - Gets a value that indicates whether the is read-only. - - if the is read-only; otherwise, . - - - Gets or sets the element with the specified key. - The key. - - - Gets an containing the keys of the . - An containing the keys of the object that implements . - - - Removes the element with the specified key from the dictionary. - The key of the element to remove. - - - Gets an containing the values in the . - An containing the values in the object that implements . - - - Returns an enumerator that iterates through a collection. - An enumerator object that can be used to iterate through the collection. - - - Creates an immutable dictionary based on the contents of this instance. - An immutable dictionary. - - - Determines whether this dictionary contains a specified key. - The key to search for. - The matching key located in the dictionary if found, or equalkey if no match is found. - - if a match for is found; otherwise, . - - - Returns the value associated with the specified key. - The key whose value will be retrieved. - When this method returns, contains the value associated with the specified key, if the key is found; otherwise, returns the default value for the type of the parameter. This parameter is passed uninitialized. - - if the object that implements the immutable dictionary contains an element with the specified key; otherwise, . - - is null. - - - Gets or sets the value comparer. - The value comparer. - - - Gets a collection that contains the values of the immutable dictionary. - A collection that contains the values of the object that implements the dictionary. - - - Retrieves an empty immutable dictionary that has the same ordering and key/value comparison rules as this dictionary instance. - An empty dictionary with equivalent ordering and key/value comparison rules. - - - Determines whether this immutable dictionary contains the specified key/value pair. - The key/value pair to locate. - - if the specified key/value pair is found in the dictionary; otherwise, . - - - Determines whether the immutable dictionary contains an element with the specified key. - The key to locate. - - if the immutable dictionary contains an element with the specified key; otherwise, . - - - Determines whether the immutable dictionary contains an element with the specified value. - The value to locate. The value can be for reference types. - - if the dictionary contains an element with the specified value; otherwise, . - - - Gets the number of key/value pairs in the immutable dictionary. - The number of key/value pairs in the dictionary. - - - Gets an empty immutable dictionary. - - - Enumerates the contents of the immutable dictionary without allocating any memory. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - - - Gets the element at the current position of the enumerator. - The element in the dictionary at the current position of the enumerator. - - - Releases the resources used by the current instance of the class. - - - Advances the enumerator to the next element of the immutable dictionary. - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the dictionary. - The dictionary was modified after the enumerator was created. - - - Sets the enumerator to its initial position, which is before the first element in the dictionary. - The dictionary was modified after the enumerator was created. - - - Gets the current element. - - - Returns an enumerator that iterates through the immutable dictionary. - An enumerator that can be used to iterate through the dictionary. - - - Gets a value that indicates whether this instance of the immutable dictionary is empty. - - if this instance is empty; otherwise, . - - - Gets the associated with the specified key. - The type of the key. - The value associated with the specified key. If no results are found, the operation throws an exception. - - - Gets the key comparer for the immutable dictionary. - The key comparer. - - - Gets the keys in the immutable dictionary. - The keys in the immutable dictionary. - - - Removes the element with the specified key from the immutable dictionary. - The key of the element to remove. - A new immutable dictionary with the specified element removed; or this instance if the specified key cannot be found in the dictionary. - - - Removes the elements with the specified keys from the immutable dictionary. - The keys of the elements to remove. - A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. - - - Sets the specified key and value in the immutable dictionary, possibly overwriting an existing value for the key. - The key of the entry to add. - The key value to set. - A new immutable dictionary that contains the specified key/value pair. - - - Sets the specified key/value pairs in the immutable dictionary, possibly overwriting existing values for the keys. - The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. - A new immutable dictionary that contains the specified key/value pairs. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Copies the elements of the dictionary to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . - - - Adds an element with the provided key and value to the immutable dictionary object. - The object to use as the key of the element to add. - The object to use as the value of the element to add. - - - Clears this instance. - The dictionary object is read-only. - - - Determines whether the immutable dictionary object contains an element with the specified key. - The key to locate in the dictionary object. - - if the dictionary contains an element with the key; otherwise, . - - - Returns an object for the immutable dictionary object. - An enumerator object for the dictionary object. - - - Gets a value indicating whether the object has a fixed size. - - if the object has a fixed size; otherwise, . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . - - - Gets or sets the element with the specified key. - The key. - - - Gets an containing the keys of the . - An containing the keys of the object that implements . - - - Removes the element with the specified key from the immutable dictionary object. - The key of the element to remove. - - - Gets an containing the values in the . - An containing the values in the object that implements . - - - Returns an enumerator that iterates through a collection. - An enumerator object that can be used to iterate through the collection. - - - - - - - - - - - - - - - - - - - - - - - - Creates an immutable dictionary with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces. - A collection with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces. - - - Determines whether this dictionary contains a specified key. - The key to search for. - The matching key located in the dictionary if found, or equalkey if no match is found. - - if a match for is found; otherwise, . - - - Gets the value associated with the specified key. - The key whose value will be retrieved. - When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the parameter. This parameter is passed uninitialized. - - if the object that implements the dictionary contains an element with the specified key; otherwise, . - - is null. - - - Gets the value comparer used to determine whether values are equal. - The value comparer used to determine whether values are equal. - - - Gets the values in the immutable dictionary. - The values in the immutable dictionary. - - - Gets an instance of the immutable dictionary that uses the specified key comparer. - The key comparer to use. - An instance of the immutable dictionary that uses the given comparer. - - - Gets an instance of the immutable dictionary that uses the specified key and value comparers. - The key comparer to use. - The value comparer to use. - An instance of the immutable dictionary that uses the given comparers. - - - Provides a set of initialization methods for instances of the class. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - Creates an empty immutable hash set. - The type of items to be stored in the immutable hash set. - An empty immutable hash set. - - - Creates a new immutable hash set that contains the specified item. - The item to prepopulate the hash set with. - The type of items in the immutable hash set. - A new immutable hash set that contains the specified item. - - - Creates a new immutable hash set that contains the specified array of items. - An array that contains the items to prepopulate the hash set with. - The type of items in the immutable hash set. - A new immutable hash set that contains the specified items. - - - Creates an empty immutable hash set that uses the specified equality comparer. - The object to use for comparing objects in the set for equality. - The type of items in the immutable hash set. - An empty immutable hash set. - - - Creates a new immutable hash set that contains the specified item and uses the specified equality comparer for the set type. - The object to use for comparing objects in the set for equality. - The item to prepopulate the hash set with. - The type of items in the immutable hash set. - A new immutable hash set that contains the specified item. - - - Creates a new immutable hash set that contains the items in the specified collection and uses the specified equality comparer for the set type. - The object to use for comparing objects in the set for equality. - An array that contains the items to prepopulate the hash set with. - The type of items stored in the immutable hash set. - A new immutable hash set that contains the specified items. - - - Creates a new immutable hash set builder. - The type of items stored by the collection. - The immutable hash set builder. - - - Creates a new immutable hash set builder. - The object to use for comparing objects in the set for equality. - The type of items stored by the collection. - The new immutable hash set builder. - - - Creates a new immutable hash set prefilled with the specified items. - The items to add to the hash set. - The type of items stored by the collection. - The new immutable hash set that contains the specified items. - - - Creates a new immutable hash set that contains the specified items and uses the specified equality comparer for the set type. - The object to use for comparing objects in the set for equality. - The items add to the collection before immutability is applied. - The type of items stored in the collection. - The new immutable hash set. - - - Enumerates a sequence and produces an immutable hash set of its contents. - The sequence to enumerate. - The type of the elements in the sequence. - An immutable hash set that contains the items in the specified sequence. - - - Enumerates a sequence, produces an immutable hash set of its contents, and uses the specified equality comparer for the set type. - The sequence to enumerate. - The object to use for comparing objects in the set for equality. - The type of the elements in the sequence. - An immutable hash set that contains the items in the specified sequence and uses the specified equality comparer. - - - Creates an immutable hash set from the current contents of the builder's set. - The builder to create the immutable hash set from. - The type of the elements in the hash set. - An immutable hash set that contains the current contents in the builder's set. - - - Represents an immutable, unordered hash set. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The type of elements in the hash set. - - - Adds the specified element to the hash set. - The element to add to the set. - A hash set that contains the added value and any values previously held by the object. - - - Represents a hash set that mutates with little or no memory allocations and that can produce or build on immutable hash set instances very efficiently. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - - Adds the specified item to the immutable hash set. - The item to add. - - if the item did not already belong to the collection; otherwise, . - - - Removes all items from the immutable hash set. - The hash set is read-only. - - - Determines whether the immutable hash set contains a specific value. - The object to locate in the hash set. - - if is found in the hash set ; otherwise, . - - - Gets the number of elements contained in the immutable hash set. - The number of elements contained in the immutable hash set. - - - Removes all elements in the specified collection from the current hash set. - The collection of items to remove from the set. - - - Returns an enumerator that iterates through the immutable hash set. - An enumerator that can be used to iterate through the set. - - - Modifies the current set so that it contains only elements that are also in a specified collection. - The collection to compare to the current set. - - - Determines whether the current set is a proper (strict) subset of a specified collection. - The collection to compare to the current set. - - if the current set is a proper subset of ; otherwise, . - - - Determines whether the current set is a proper (strict) superset of a specified collection. - The collection to compare to the current set. - - if the current set is a proper superset of ; otherwise, . - - - Determines whether the current set is a subset of a specified collection. - The collection to compare to the current set. - - if the current set is a subset of ; otherwise, . - - - Determines whether the current set is a superset of a specified collection. - The collection to compare to the current set. - - if the current set is a superset of ; otherwise, . - - - Gets or sets the key comparer. - The key comparer. - - - Determines whether the current set overlaps with the specified collection. - The collection to compare to the current set. - - if the current set and share at least one common element; otherwise, . - - - Removes the first occurrence of a specific object from the immutable hash set. - The object to remove from the set. - - if was successfully removed from the set ; otherwise, . This method also returns if is not found in the original set. - The set is read-only. - - - Determines whether the current set and the specified collection contain the same elements. - The collection to compare to the current set. - - if the current set is equal to ; otherwise, . - - - Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. - The collection to compare to the current set. - - - Adds an item to the hash set. - The object to add to the set. - The set is read-only. - - - Copies the elements of the hash set to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the hash set. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Returns an enumerator that iterates through a collection. - An enumerator that can be used to iterate through the collection. - - - Creates an immutable hash set based on the contents of this instance. - An immutable set. - - - Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection. - The collection to compare to the current set. - - - Retrieves an empty immutable hash set that has the same sorting and ordering semantics as this instance. - An empty hash set that has the same sorting and ordering semantics as this instance. - - - Determines whether this immutable hash set contains the specified element. - The object to locate in the immutable hash set. - - if is found in the ; otherwise, . - - - Gets the number of elements in the immutable hash set. - The number of elements in the hash set. - - - Gets an immutable hash set for this type that uses the default . - - - Enumerates the contents of the immutable hash set without allocating any memory. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - - Gets the element at the current position of the enumerator. - The element at the current position of the enumerator. - - - Releases the resources used by the current instance of the class. - - - Advances the enumerator to the next element of the immutable hash set. - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the hash set. - The hash set was modified after the enumerator was created. - - - Sets the enumerator to its initial position, which is before the first element in the hash set. - The hash set was modified after the enumerator was created. - - - Gets the current element. - - - Removes the elements in the specified collection from the current immutable hash set. - The collection of items to remove from this set. - A new set with the items removed; or the original set if none of the items were in the set. - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Creates an immutable hash set that contains elements that exist in both this set and the specified set. - The collection to compare to the current set. - A new immutable set that contains any elements that exist in both sets. - - - Gets a value that indicates whether the current immutable hash set is empty. - - if this instance is empty; otherwise, . - - - Determines whether the current immutable hash set is a proper (strict) subset of a specified collection. - The collection to compare to the current set. - - if the current set is a proper subset of the specified collection; otherwise, . - - - Determines whether the current immutable hash set is a proper (strict) superset of a specified collection. - The collection to compare to the current set. - - if the current set is a proper superset of the specified collection; otherwise, . - - - Determines whether the current immutable hash set is a subset of a specified collection. - The collection to compare to the current set. - - if the current set is a subset of the specified collection; otherwise, . - - - Determines whether the current immutable hash set is a superset of a specified collection. - The collection to compare to the current set. - - if the current set is a superset of the specified collection; otherwise, . - - - Gets the object that is used to obtain hash codes for the keys and to check the equality of values in the immutable hash set. - The comparer used to obtain hash codes for the keys and check equality. - - - Determines whether the current immutable hash set overlaps with the specified collection. - The collection to compare to the current set. - - if the current set and the specified collection share at least one common element; otherwise, . - - - Removes the specified element from this immutable hash set. - The element to remove. - A new set with the specified element removed, or the current set if the element cannot be found in the set. - - - Determines whether the current immutable hash set and the specified collection contain the same elements. - The collection to compare to the current set. - - if the sets are equal; otherwise, . - - - Creates an immutable hash set that contains only elements that are present either in the current set or in the specified collection, but not both. - The collection to compare to the current set. - A new set that contains the elements that are present only in the current set or in the specified collection, but not both. - - - Adds an item to the set. - The object to add to the set. - The set is read-only. - - - Removes all items from this set. - The set is read-only. - - - Copies the elements of the set to an array, starting at a particular index. - The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - See the interface. - - - Removes the first occurrence of a specific object from the set. - The object to remove from the set. - - if the element is successfully removed; otherwise, . - - - Returns an enumerator that iterates through the collection. - An enumerator that iterates through the collection. - - - Adds an element to the current set and returns a value that indicates whether the element was successfully added. - The element to add to the collection. - - if the element is added to the set; if the element is already in the set. - - - Removes all elements in the specified collection from the current set. - The collection of items to remove. - - - Modifies the current set so that it contains only elements that are also in a specified collection. - The collection to compare to the current collection. - - - Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. - The collection to compare to the current set. - - - Modifies the current set so that it contains all elements that are present in either the current set or in the specified collection. - The collection to compare to the current set. - - - Copies the elements of the set to an array, starting at a particular index. - The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - See the interface. - - - See . - - - Returns an enumerator that iterates through a set. - An enumerator that can be used to iterate through the set. - - - Adds the specified element to this immutable set. - The element to add. - A new set with the element added, or this set if the element is already in the set. - - - Retrieves an empty set that has the same sorting and ordering semantics as this instance. - An empty set that has the same sorting or ordering semantics as this instance. - - - Removes the elements in the specified collection from the current set. - The collection of items to remove from this set. - A new set with the items removed; or the original set if none of the items were in the set. - - - Creates an immutable set that contains elements that exist in both this set and the specified set. - The collection to compare to the current set. - A new immutable set that contains any elements that exist in both sets. - - - Removes the specified element from this immutable set. - The element to remove. - A new set with the specified element removed, or the current set if the element cannot be found in the set. - - - Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both. - The collection to compare to the current set. - A new set that contains the elements that are present only in the current set or in the specified collection, but not both. - - - Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection. - The collection to add elements from. - A new immutable set with the items added; or the original set if all the items were already in the set. - - - Creates an immutable hash set that has the same contents as this set and can be efficiently mutated across multiple operations by using standard mutable interfaces. - A set with the same contents as this set that can be efficiently mutated across multiple operations by using standard mutable interfaces. - - - Searches the set for a given value and returns the equal value it finds, if any. - The value to search for. - The value from the set that the search found, or the original value if the search yielded no match. - A value indicating whether the search was successful. - - - Creates a new immutable hash set that contains all elements that are present in either the current set or in the specified collection. - The collection to add elements from. - A new immutable hash set with the items added; or the original set if all the items were already in the set. - - - Gets an instance of the immutable hash set that uses the specified equality comparer for its search methods. - The equality comparer to use. - An instance of this immutable hash set that uses the given comparer. - - - Contains interlocked exchange mechanisms for immutable collections. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - Obtains the value from a dictionary after having added it or updated an existing entry. - The variable or field to atomically update if the specified is not in the dictionary. - The key for the value to add or update. - The value to use if no previous value exists. - The function that receives the key and prior value and returns the new value with which to update the dictionary. - The type of key stored by the dictionary. - The type of value stored by the dictionary. - The added or updated value. - - - Obtains the value from a dictionary after having added it or updated an existing entry. - The variable or field to atomically update if the specified is not in the dictionary. - The key for the value to add or update. - The function that receives the key and returns a new value to add to the dictionary when no value previously exists. - The function that receives the key and prior value and returns the new value with which to update the dictionary. - The type of key stored by the dictionary. - The type of value stored by the dictionary. - The added or updated value. - - - Atomically enqueues an element to the end of a queue. - The variable or field to atomically update. - The value to enqueue. - The type of items contained in the collection - - - Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary. - The variable or field to atomically update if the specified key is not in the dictionary. - The key for the value to get or add. - The value to add to the dictionary the key is not found. - The type of the keys contained in the collection. - The type of the values contained in the collection. - The value at the specified key or if the key was not present. - - - Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary. - The variable or field to atomically update if the specified is not in the dictionary. - The key for the value to retrieve or add. - The function to execute to obtain the value to insert into the dictionary if the key is not found. This delegate will not be invoked more than once. - The type of the keys contained in the collection. - The type of the values contained in the collection. - The value at the specified key or if the key was not present. - - - Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary. - The variable or field to update if the specified is not in the dictionary. - The key for the value to retrieve or add. - The function to execute to obtain the value to insert into the dictionary if the key is not found. - The argument to pass to the value factory. - The type of the keys contained in the collection. - The type of the values contained in the collection. - The type of the argument supplied to the value factory. - The value at the specified key or if the key was not present. - - - Compares two immutable arrays for equality and, if they are equal, replaces one of the arrays. - The destination, whose value is compared with and possibly replaced. - The value that replaces the destination value if the comparison results in equality. - The value that is compared to the value at . - The type of element stored by the array. - The original value in . - - - Sets an array to the specified array and returns a reference to the original array, as an atomic operation. - The array to set to the specified value. - The value to which the parameter is set. - The type of element stored by the array. - The original value of . - - - Sets an array to the specified array if the array has not been initialized. - The array to set to the specified value. - The value to which the parameter is set, if it's not initialized. - The type of element stored by the array. - - if the array was assigned the specified value; otherwise, . - - - Pushes a new element onto the stack. - The stack to update. - The value to push on the stack. - The type of items in the stack. - - - Adds the specified key and value to the dictionary if the key is not in the dictionary. - The dictionary to update with the specified key and value. - The key to add, if is not already defined in the dictionary. - The value to add. - The type of the keys contained in the collection. - The type of the values contained in the collection. - - if the key is not in the dictionary; otherwise, . - - - Atomically removes and returns the specified element at the head of the queue, if the queue is not empty. - The variable or field to atomically update. - Set to the value from the head of the queue, if the queue not empty. - The type of items in the queue. - - if the queue is not empty and the head element is removed; otherwise, . - - - Removes an element from the top of the stack, if there is an element to remove. - The stack to update. - Receives the value removed from the stack, if the stack is not empty. - The type of items in the stack. - - if an element is removed from the stack; otherwise, . - - - Removes the element with the specified key, if the key exists. - The dictionary to update. - The key to remove. - Receives the value of the removed item, if the dictionary is not empty. - The type of the keys contained in the collection. - The type of the values contained in the collection. - - if the key was found and removed; otherwise, . - - - Sets the specified key to the specified value if the specified key already is set to a specific value. - The dictionary to update. - The key to update. - The new value to set. - The current value for in order for the update to succeed. - The type of the keys contained in the collection. - The type of the values contained in the collection. - - if and are present in the dictionary and comparison was updated to ; otherwise, . - - - Mutates a value in-place with optimistic locking transaction semantics via a specified transformation function. The transformation is retried as many times as necessary to win the optimistic locking race. - The variable or field to be changed, which may be accessed by multiple threads. - A function that mutates the value. This function should be side-effect free, as it may run multiple times when races occur with other threads. - The type of data. - - if the location's value is changed by applying the result of the function; if the location's value remained the same because the last invocation of returned the existing value. - - - Mutates a value in-place with optimistic locking transaction semantics via a specified transformation function. The transformation is retried as many times as necessary to win the optimistic locking race. - The variable or field to be changed, which may be accessed by multiple threads. - A function that mutates the value. This function should be side-effect free, as it may run multiple times when races occur with other threads. - The argument to pass to . - The type of data. - The type of argument passed to the . - - if the location's value is changed by applying the result of the function; if the location's value remained the same because the last invocation of returned the existing value. - - - Provides a set of initialization methods for instances of the class. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - Creates an empty immutable list. - The type of items to be stored in the . - An empty immutable list. - - - Creates a new immutable list that contains the specified item. - The item to prepopulate the list with. - The type of items in the . - A new that contains the specified item. - - - Creates a new immutable list that contains the specified array of items. - An array that contains the items to prepopulate the list with. - The type of items in the . - A new immutable list that contains the specified items. - - - Creates a new immutable list builder. - The type of items stored by the collection. - The immutable collection builder. - - - Creates a new immutable list that contains the specified items. - The items to add to the list. - The type of items in the . - An immutable list that contains the specified items. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the list. - The list to search. - The object to locate in the list. The value can be null for reference types. - The type of items in the list. - The zero-based index of the first occurrence of item within the range of elements in the list that extends from index to the last element, if found; otherwise, -1. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the list. - The list to search. - The object to locate in the Immutable list. The value can be null for reference types. - The equality comparer to use in the search. - The type of items in the list. - The zero-based index of the first occurrence of item within the range of elements in the immutable list that extends from index to the last element, if found; otherwise, -1. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. - The list to search. - The object to locate in the Immutable list. The value can be null for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The type of items in the list. - The zero-based index of the first occurrence of item within the range of elements in the Immutable list that extends from index to the last element, if found; otherwise, -1. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. - The list to search. - The object to locate in the Immutable list. The value can be null for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The number of elements in the section to search. - The type of items in the list. - The zero-based index of the first occurrence of item within the range of elements in the Immutable list that extends from index to the last element, if found; otherwise, -1. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list. - The list to search. - The object to locate in the Immutable list. The value can be null for reference types. - The type of items in the list. - The zero-based index of the last occurrence of item within the entire the Immutable list, if found; otherwise, -1. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list. - The list to search. - The object to locate in the Immutable list. The value can be null for reference types. - The equality comparer to use in the search. - The type of items in the list. - The zero-based index of the last occurrence of item within the entire the Immutable list, if found; otherwise, -1. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. - The list to search. - The object to locate in the Immutable list. The value can be null for reference types. - The zero-based starting index of the backward search. - The type of items in the list. - The zero-based index of the last occurrence of item within the range of elements in the Immutable list that extends from the first element to index, if found; otherwise, -1. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. - The list to search. - The object to locate in the Immutable list. The value can be null for reference types. - The zero-based starting index of the backward search. - The number of elements in the section to search. - The type of items in the list. - The zero-based index of the last occurrence of item within the range of elements in the Immutable list that extends from the first element to index, if found; otherwise, -1. - - - Removes the specified value from this list. - The list to search. - The value to remove. - The type of items in the list. - A new immutable list with the element removed, or this list if the element is not in this list. - - - Removes the specified values from this list. - The list to search. - The items to remove if matches are found in this list. - The type of items in the list. - A new immutable list with the elements removed. - - - Replaces the first equal element in the list with the specified element. - The list to search. - The element to replace. - The element to replace the old element with. - The type of items in the list. - The new list -- even if the value being replaced is equal to the new value for that position. - Thrown when the old value does not exist in the list. - - - Enumerates a sequence and produces an immutable list of its contents. - The sequence to enumerate. - The type of the elements in the sequence. - An immutable list that contains the items in the specified sequence. - - - Creates an immutable list from the current contents of the builder's collection. - The builder to create the immutable list from. - The type of the elements in the list. - An immutable list that contains the current contents in the builder's collection. - - - Represents an immutable list, which is a strongly typed list of objects that can be accessed by index. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The type of elements in the list. - - - Adds the specified object to the end of the immutable list. - The object to add. - A new immutable list with the object added. - - - Adds the elements of the specified collection to the end of the immutable list. - The collection whose elements will be added to the end of the list. - A new immutable list with the elements added. - - - Searches the entire sorted list for an element using the default comparer and returns the zero-based index of the element. - The object to locate. The value can be for reference types. - The zero-based index of item in the sorted List, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of . - The default comparer cannot find a comparer implementation of the for type T. - - - Searches the entire sorted list for an element using the specified comparer and returns the zero-based index of the element. - The object to locate. The value can be null for reference types. - The comparer implementation to use when comparing elements or null to use the default comparer. - The zero-based index of item in the sorted List, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of . - comparer is , and the default comparer cannot find an comparer implementation for type T. - - - Searches a range of elements in the sorted list for an element using the specified comparer and returns the zero-based index of the element. - The zero-based starting index of the range to search. - The length of the range to search. - The object to locate. The value can be null for reference types. - The comparer implementation to use when comparing elements, or to use the default comparer. - The zero-based index of item in the sorted list, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of . - index is less than 0 or is less than 0. - index and do not denote a valid range in the list. - - is , and the default comparer cannot find an comparer implementation for type T. - - - Represents a list that mutates with little or no memory allocations and that can produce or build on immutable list instances very efficiently. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - - Adds an item to the immutable list. - The item to add to the list. - - - Adds a series of elements to the end of this list. - The elements to add to the end of the list. - - - Searches the entire for an element using the default comparer and returns the zero-based index of the element. - The object to locate. The value can be null for reference types. - The zero-based index of item in the , if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than . - The default comparer cannot find an implementation of the generic interface or the interface for type T. - - - Searches the entire for an element using the specified comparer and returns the zero-based index of the element. - The object to locate. This value can be null for reference types. - The implementation to use when comparing elements, or for the default comparer. - The zero-based index of item in the , if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than . - - is , and the default comparer cannot find an implementation of the generic interface or the interface for type T. - - - Searches the specified range of the for an element using the specified comparer and returns the zero-based index of the element. - The zero-based starting index of the range to search. - The length of the range to search. - The object to locate. This value can be null for reference types. - The implementation to use when comparing elements, or for the default comparer. - The zero-based index of item in the , if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than . - - is less than 0. --or- - is less than 0. - - and do not denote a valid range in the . - - is , and the default comparer cannot find an implementation of the generic interface or the interface for type T. - - - Removes all items from the immutable list. - - - Determines whether the immutable list contains a specific value. - The object to locate in the list. - - if item is found in the list; otherwise, . - - - Creates a new immutable list from the list represented by this builder by using the converter function. - The converter function. - The type of the output of the delegate converter function. - A new immutable list from the list represented by this builder. - - - Copies the entire immutable list to a compatible one-dimensional array, starting at the beginning of the target array. - The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. - - - Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array. - The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. - The zero-based index in array at which copying begins. - - - Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array. - The zero-based index in the source immutable list at which copying begins. - The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. - The zero-based index in at which copying begins. - The number of elements to copy. - - - Gets the number of elements in this immutable list. - The number of elements in this list. - - - Determines whether the immutable list contains elements that match the conditions defined by the specified predicate. - The delegate that defines the conditions of the elements to search for. - - if the immutable list contains one or more elements that match the conditions defined by the specified predicate; otherwise, . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire immutable list. - The delegate that defines the conditions of the element to search for. - The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . - - - Retrieves all the elements that match the conditions defined by the specified predicate. - The delegate that defines the conditions of the elements to search for. - An immutable list containing all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty immutable list. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements. - The zero-based starting index of the search. - The number of elements in the section to search. - The delegate that defines the conditions of the element to search for. - The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, -1. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. - The zero-based starting index of the search. - The delegate that defines the conditions of the element to search for. - The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, -1. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire immutable list. - The delegate that defines the conditions of the element to search for. - The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, -1. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire immutable list. - The delegate that defines the conditions of the element to search for. - The last element that matches the conditions defined by the specified predicate, found; otherwise, the default value for type . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. - The zero-based starting index of the backward search. - The number of elements in the section to search. - The delegate that defines the conditions of the element to search for. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, -1. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. - The zero-based starting index of the backward search. - The delegate that defines the conditions of the element to search for. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, -1. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire immutable list. - The delegate that defines the conditions of the element to search for. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, -1. - - - Performs the specified action on each element of the list. - The delegate to perform on each element of the list. - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the list. - - - Creates a shallow copy of a range of elements in the source immutable list. - The zero-based index at which the range starts. - The number of elements in the range. - A shallow copy of a range of elements in the source immutable list. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list. - The object to locate in the immutable list. The value can be for reference types. - The zero-based index of the first occurrence of within the range of elements in the immutable list, if found; otherwise, -1. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. - The object to locate in the immutable list. The value can be for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The zero-based index of the first occurrence of item within the range of elements in the immutable list that extends from to the last element, if found; otherwise, -1. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements. - The object to locate in the immutable list. The value can be for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The number of elements in the section to search. - The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at and contains number of elements, if found; otherwise, -1. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. - The object to locate in the immutable list. The value can be for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The number of elements to search. - The value comparer to use for comparing elements for equality. - The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at and contains number of elements, if found; otherwise, -1 - - - Inserts an item to the immutable list at the specified index. - The zero-based index at which should be inserted. - The object to insert into the immutable list. - - - Inserts the elements of a collection into the immutable list at the specified index. - The zero-based index at which the new elements should be inserted. - The collection whose elements should be inserted into the immutable list. The collection itself cannot be , but it can contain elements that are null, if type T is a reference type. - - - Gets or sets the value for a given index in the list. - The index of the item to get or set. - The value at the specified index. - - - Gets a read-only reference to the value for a given into the list. - The index of the desired element. - A read-only reference to the value at the specified . - - - Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list. - The object to locate in the immutable list. The value can be for reference types. - The zero-based index of the last occurrence of within the entire immutable list, if found; otherwise, -1. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. - The object to locate in the immutable list. The value can be for reference types. - The zero-based starting index of the backward search. - The zero-based index of the last occurrence of within the range of elements in the immutable list that extends from the first element to , if found; otherwise, -1. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. - The object to locate in the immutable list. The value can be for reference types. - The zero-based starting index of the backward search. - The number of elements in the section to search. - The zero-based index of the last occurrence of within the range of elements in the immutable list that contains number of elements and ends at , if found; otherwise, -1. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. - The object to locate in the immutable list. The value can be for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The number of elements to search. - The value comparer to use for comparing elements for equality. - The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at and contains number of elements, if found; otherwise, -1 - - - Removes the first occurrence of a specific object from the immutable list. - The object to remove from the list. - - if item was successfully removed from the list; otherwise, . This method also returns if item is not found in the list. - - - Removes all the elements that match the conditions defined by the specified predicate. - The delegate that defines the conditions of the elements to remove. - The number of elements removed from the immutable list. - - - Removes the item at the specified index of the immutable list. - The zero-based index of the item to remove from the list. - - - Reverses the order of the elements in the entire immutable list. - - - Reverses the order of the elements in the specified range of the immutable list. - The zero-based starting index of the range to reverse. - The number of elements in the range to reverse. - - - Sorts the elements in the entire immutable list by using the default comparer. - - - Sorts the elements in the entire immutable list by using the specified comparer. - The implementation to use when comparing elements, or to use the default comparer (). - - - Sorts the elements in the entire immutable list by using the specified comparison object. - The object to use when comparing elements. - - is . - - - Sorts the elements in a range of elements in the immutable list by using the specified comparer. - The zero-based starting index of the range to sort. - The length of the range to sort. - The implementation to use when comparing elements, or to use the default comparer (). - - - Gets a value that indicates whether this instance is read-only. - Always . - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Copies the elements of the list to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the list. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - - Gets a value that indicates whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Adds an item to the list. - The object to add to the list. - The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. - - - - Removes all items from the list. - - - - Determines whether the list contains a specific value. - The object to locate in the list. - - if the is found in the list; otherwise, . - - - - Determines the index of a specific item in the list. - The object to locate in the list. - The index of if found in the list; otherwise, -1. - - - - Inserts an item to the list at the specified index. - The zero-based index at which should be inserted. - The object to insert into the list. - - - - Gets a value that indicates whether the has a fixed size. - - if the has a fixed size; otherwise, . - - - Gets a value that indicates whether the is read-only. - - if the is read-only; otherwise, . - - - Gets or sets the at the specified index. - The index. - The object at the specified index. - - - Removes the first occurrence of a specific object from the list. - The object to remove from the list. - - - - Creates an immutable list based on the contents of this instance. - An immutable list. - - - Determines whether every element in the immutable list matches the conditions defined by the specified predicate. - The delegate that defines the conditions to check against the elements. - - if every element in the immutable list matches the conditions defined by the specified predicate; otherwise, . If the list has no elements, the return value is . - - - Removes all elements from the immutable list. - An empty list that retains the same sort or unordered semantics that this instance has. - - - Determines whether this immutable list contains the specified value. - The value to locate. - - if the list contains the specified value; otherwise, . - - - Converts the elements in the current immutable list to another type, and returns a list containing the converted elements. - A delegate that converts each element from one type to another type. - The type of the elements of the target array. - A list of the target type containing the converted elements from the current . - - - Copies the entire immutable list to a compatible one-dimensional array, starting at the beginning of the target array. - The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. - - - Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array. - The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Copies a range of elements from the immutable list to a compatible one-dimensional array, starting at the specified index of the target array. - The zero-based index in the source immutable list at which copying begins. - The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. - The zero-based index in array at which copying begins. - The number of elements to copy. - - - Gets the number of elements contained in the list. - The number of elements in the list. - - - Gets an empty set with the default sort comparer. - - - Enumerates the contents of a binary tree. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - - Gets the element at the current position of the enumerator. - The element at the current position of the enumerator. - - - Releases the resources used by the current instance of the class. - - - Advances enumeration to the next element of the immutable list. - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the list. - - - Sets the enumerator to its initial position, which is before the first element in the immutable list. - - - The current element. - - - Determines whether the immutable list contains elements that match the conditions defined by the specified predicate. - The delegate that defines the conditions of the elements to search for. - - if the immutable list contains one or more elements that match the conditions defined by the specified predicate; otherwise, . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire immutable list. - The delegate that defines the conditions of the element to search for. - The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . - - - Retrieves all the elements that match the conditions defined by the specified predicate. - The delegate that defines the conditions of the elements to search for. - An immutable list that contains all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty immutable list. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements. - The zero-based starting index of the search. - The number of elements in the section to search. - The delegate that defines the conditions of the element to search for. - The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, ?1. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. - The zero-based starting index of the search. - The delegate that defines the conditions of the element to search for. - The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, ?1. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire immutable list. - The delegate that defines the conditions of the element to search for. - The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, ?1. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire immutable list. - The delegate that defines the conditions of the element to search for. - The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. - The zero-based starting index of the backward search. - The number of elements in the section to search. - The delegate that defines the conditions of the element to search for. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, ?1. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. - The zero-based starting index of the backward search. - The delegate that defines the conditions of the element to search for. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, ?1. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire immutable list. - The delegate that defines the conditions of the element to search for. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, ?1. - - - Performs the specified action on each element of the immutable list. - The delegate to perform on each element of the immutable list. - - - Returns an enumerator that iterates through the immutable list. - An enumerator that can be used to iterate through the immutable list. - - - Creates a shallow copy of a range of elements in the source immutable list. - The zero-based index at which the range starts. - The number of elements in the range. - A shallow copy of a range of elements in the source immutable list. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the entire immutable list. - The object to locate in the immutable list. The value can be for reference types. - The zero-based index of the first occurrence of within the entire immutable list, if found; otherwise, ?1. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the list that starts at the specified index and contains the specified number of elements. - The object to locate in the list The value can be null for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The number of elements in the section to search. - The equality comparer to use in the search. - The zero-based index of the first occurrence of item within the range of elements in the list that starts at index and contains count number of elements, if found; otherwise, -1. - - - Inserts the specified object into the immutable list at the specified index. - The zero-based index at which to insert the object. - The object to insert. - The new immutable list after the object is inserted. - - - Inserts the elements of a collection into the immutable list at the specified index. - The zero-based index at which to insert the elements. - The collection whose elements should be inserted. - The new immutable list after the elements are inserted. - - - Gets a value that indicates whether this list is empty. - - if the list is empty; otherwise, . - - - Gets the element at the specified index of the list. - The index of the element to retrieve. - The element at the specified index. - In a get operation, is negative or not less than . - - - Gets a read-only reference to the element of the set at the given . - The 0-based index of the element in the set to return. - A read-only reference to the element at the given position. - - is negative or not less than . - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the list that contains the specified number of elements and ends at the specified index. - The object to locate in the list. The value can be null for reference types. - The zero-based starting index of the backward search. - The number of elements in the section to search. - The equality comparer to use in the search. - The zero-based index of the last occurrence of item within the range of elements in the list that contains count number of elements and ends at index, if found; otherwise, -1. - - - Removes the first occurrence of the specified object from this immutable list. - The object to remove. - A new list with the object removed, or this list if the specified object is not in this list. - - - Removes the first occurrence of the object that matches the specified value from this immutable list. - The value of the element to remove from the list. - The equality comparer to use in the search. - A new list with the object removed, or this list if the specified object is not in this list. - - - Removes all the elements that match the conditions defined by the specified predicate. - The delegate that defines the conditions of the elements to remove. - The new list with the elements removed. - - - Removes the element at the specified index. - The zero-based index of the element to remove. - A new list with the element removed. - - - Removes a range of elements from this immutable list. - The collection whose elements should be removed if matches are found in this list. - A new list with the elements removed. - - - Removes the specified values from this list. - The items to remove if matches are found in this list. - The equality comparer to use in the search. - A new list with the elements removed. - - - Removes a range of elements, starting from the specified index and containing the specified number of elements, from this immutable list. - The starting index to begin removal. - The number of elements to remove. - A new list with the elements removed. - - - Replaces the specified element in the immutable list with a new element. - The element to replace. - The element to replace with. - The new list with the replaced element, even if it is equal to the old element. - - does not exist in the immutable list. - - - Replaces the specified element in the immutable list with a new element. - The element to replace in the list. - The element to replace with. - The comparer to use to check for equality. - A new list with the object replaced, or this list if the specified object is not in this list. - - - Reverses the order of the elements in the entire immutable list. - The reversed list. - - - Reverses the order of the elements in the specified range of the immutable list. - The zero-based starting index of the range to reverse. - The number of elements in the range to reverse. - The reversed list. - - - Replaces an element at a given position in the immutable list with the specified element. - The position in the list of the element to replace. - The element to replace the old element with. - The new list with the replaced element, even if it is equal to the old element at that position. - - - Sorts the elements in the entire immutable list using the default comparer. - The sorted list. - - - Sorts the elements in the entire immutable list using the specified comparer. - The implementation to use when comparing elements, or to use the default comparer (). - The sorted list. - - - Sorts the elements in the entire immutable list using the specified comparer. - The delegate to use when comparing elements. - The sorted list. - - is . - - - Sorts a range of elements in the immutable list using the specified comparer. - The zero-based starting index of the range to sort. - The length of the range to sort. - The implementation to use when comparing elements, or to use the default comparer (). - The sorted list. - - - Adds the specified item to the immutable list. - The item to add. - - - - Removes all items from the immutable list. - - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . - - - Removes the first occurrence of a specific object from the immutable list. - The object to remove. - - if was successfully removed from the list; otherwise, . This method also returns if is not found in the original list. - - - Returns an enumerator that iterates through the immutable list. - An enumerator that can be used to iterate through the list. - - - Inserts an object in the immutable list at the specified index. - The zero-based index at which should be inserted. - The object to insert. - - - - Gets or sets the value at the specified index. - - Thrown from getter when is negative or not less than . - Always thrown from the setter. - - - Removes the value at the specified index. - The zero-based index of the item to remove. - - - - Copies the entire immutable list to a compatible one-dimensional array, starting at the specified array index. - The one-dimensional array that is the destination of the elements copied from immutable list. - The zero-based index in at which copying begins. - - - See the interface. - - - See . - - - Returns an enumerator that iterates through the immutable list. - An enumerator that can be used to iterate through the list. - - - Adds an item to the immutable list. - The object to add to the list. - The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the list. - Always thrown. - - - Removes all items from the immutable list. - Always thrown. - - - Determines whether the immutable list contains a specific value. - The object to locate in the list. - - if the object is found in the list; otherwise, . - - - - Determines the index of a specific item in the immutable list. - The object to locate in the list. - The index of if found in the list; otherwise, -1. - - - - Inserts an item into the immutable list at the specified index. - The zero-based index at which should be inserted. - The object to insert into the list. - Always thrown. - - - Gets a value indicating whether the has a fixed size. - - if the has a fixed size; otherwise, . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . - - - Gets or sets the at the specified index. - The index. - The value at the specified index. - Thrown from getter when is negative or not less than . - Always thrown from the setter. - - - Removes the first occurrence of a specific object from the immutable list. - The object to remove from the list. - Always thrown. - - - Removes the item at the specified index of the immutable list. - The zero-based index of the item to remove. - Always thrown. - - - Adds the specified value to this immutable list. - The value to add. - A new list with the element added. - - - Adds the specified values to this immutable list. - The values to add. - A new list with the elements added. - - - Retrieves an empty list that has the same sorting and ordering semantics as this instance. - An empty list that has the same sorting and ordering semantics as this instance. - - - Inserts the specified element at the specified index in the immutable list. - The index at which to insert the value. - The element to insert. - A new immutable list that includes the specified element. - - - Inserts the specified elements at the specified index in the immutable list. - The index at which to insert the elements. - The elements to insert. - A new immutable list that includes the specified elements. - - - Removes the element with the specified value from the list. - The value of the element to remove from the list. - The comparer to use to compare elements for equality. - A new with the specified element removed. - - - Removes all the elements that match the conditions defined by the specified predicate. - The delegate that defines the conditions of the elements to remove. - A new immutable list with the elements removed. - - - Removes the element at the specified index of the immutable list. - The index of the element to remove. - A new list with the element removed. - - - Removes a range of elements from this immutable list that match the items specified. - The range of items to remove from the list, if found. - The equality comparer to use to compare elements. - An immutable list with the items removed. - - or is . - - - Removes the specified number of elements at the specified location from this list. - The starting index of the range of elements to remove. - The number of elements to remove. - A new list with the elements removed. - - - Replaces an element in the list with the specified element. - The element to replace. - The element to replace the old element with. - The equality comparer to use in the search. - The new list. - Thrown when the old value does not exist in the list. - - - Replaces an element in the list at a given position with the specified element. - The position in the list of the element to replace. - The element to replace the old element with. - The new list. - - - Creates a list that has the same contents as this list and can be efficiently mutated across multiple operations using standard mutable interfaces. - The created list with the same contents as this list. - - - Determines whether every element in the immutable list matches the conditions defined by the specified predicate. - The delegate that defines the conditions to check against the elements. - - if every element in the immutable list matches the conditions defined by the specified predicate; otherwise, . If the list has no elements, the return value is . - - - Provides a set of initialization methods for instances of the class. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - Creates an empty immutable queue. - The type of items to be stored in the immutable queue. - An empty immutable queue. - - - Creates a new immutable queue that contains the specified item. - The item to prepopulate the queue with. - The type of items in the immutable queue. - A new immutable queue that contains the specified item. - - - Creates a new immutable queue that contains the specified array of items. - An array that contains the items to prepopulate the queue with. - The type of items in the immutable queue. - A new immutable queue that contains the specified items. - - - Creates a new immutable queue that contains the specified items. - The items to add to the queue before immutability is applied. - The type of elements in the queue. - An immutable queue that contains the specified items. - - - Removes the item at the beginning of the immutable queue, and returns the new queue. - The queue to remove the item from. - When this method returns, contains the item from the beginning of the queue. - The type of elements in the immutable queue. - The new queue with the item removed. - The stack is empty. - - - Represents an immutable queue. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The type of elements in the queue. - - - Removes all objects from the immutable queue. - The empty immutable queue. - - - Removes the element at the beginning of the immutable queue, and returns the new queue. - The new immutable queue; never . - The queue is empty. - - - Removes the item at the beginning of the immutable queue, and returns the new queue. - When this method returns, contains the element from the beginning of the queue. - The new immutable queue with the beginning element removed. - The queue is empty. - - - Gets an empty immutable queue. - An empty immutable queue. - - - Adds an element to the end of the immutable queue, and returns the new queue. - The element to add. - The new immutable queue. - - - Enumerates the contents of an immutable queue without allocating any memory. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - - Gets the element at the current position of the enumerator. - The element at the current position of the enumerator. - - - Advances the enumerator to the next element of the immutable queue. - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the queue. - - - Returns an enumerator that iterates through the immutable queue. - An enumerator that can be used to iterate through the queue. - - - Gets a value that indicates whether this immutable queue is empty. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - if this queue is empty; otherwise, . - - - Returns the element at the beginning of the immutable queue without removing it. - The element at the beginning of the queue. - The queue is empty. - - - Gets a read-only reference to the element at the front of the queue. - The queue is empty. - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Returns an enumerator that iterates through a collection. - An object that can be used to iterate through the collection. - - - Removes all elements from the immutable queue. - The empty immutable queue. - - - Removes the element at the beginning of the immutable queue, and returns the new queue. - The new immutable queue; never . - - - Adds an element to the end of the immutable queue, and returns the new queue. - The element to add. - The new immutable queue. - - - Provides a set of initialization methods for instances of the class. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - Creates an empty immutable sorted dictionary. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - An empty immutable sorted dictionary. - - - Creates an empty immutable sorted dictionary that uses the specified key comparer. - The implementation to use to determine the equality of keys in the dictionary. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - An empty immutable sorted dictionary. - - - Creates an empty immutable sorted dictionary that uses the specified key and value comparers. - The implementation to use to determine the equality of keys in the dictionary. - The implementation to use to determine the equality of values in the dictionary. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - An empty immutable sorted dictionary. - - - Creates a new immutable sorted dictionary builder. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - The immutable collection builder. - - - Creates a new immutable sorted dictionary builder. - The key comparer. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - The immutable collection builder. - - - Creates a new immutable sorted dictionary builder. - The key comparer. - The value comparer. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - The immutable collection builder. - - - Creates a new immutable sorted dictionary from the specified range of items with the specified key comparer. - The comparer implementation to use to evaluate keys for equality and sorting. - The items to add to the sorted dictionary. - The type of keys stored in the dictionary. - The type of values stored in the dictionary. - The new immutable sorted dictionary that contains the specified items and uses the specified key comparer. - - - Creates a new immutable sorted dictionary from the specified range of items with the specified key and value comparers. - The comparer implementation to use to compare keys for equality and sorting. - The comparer implementation to use to compare values for equality and sorting. - The items to add to the sorted dictionary before it's immutable. - The type of keys stored in the dictionary. - The type of values stored in the dictionary. - An immutable sorted dictionary that contains the specified items and uses the specified comparers. - - - Creates an immutable sorted dictionary that contains the specified items and uses the default comparer. - The items to add to the sorted dictionary before it's immutable. - The type of keys stored in the dictionary. - The type of values stored in the dictionary. - An immutable sorted dictionary that contains the specified items. - - - Enumerates a sequence of key/value pairs and produces an immutable sorted dictionary of its contents. - The sequence of key/value pairs to enumerate. - The type of the keys in the dictionary. - The type of the values in the dictionary. - An immutable sorted dictionary that contains the key/value pairs in the specified sequence. - - - Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key comparer. - The sequence of key/value pairs to enumerate. - The key comparer to use when building the immutable dictionary. - The type of the keys in the dictionary. - The type of the values in the dictionary. - An immutable sorted dictionary that contains the key/value pairs in the specified sequence. - - - Enumerates a sequence of key/value pairs and produces an immutable sorted dictionary of its contents by using the specified key and value comparers. - The sequence of key/value pairs to enumerate. - The key comparer to use when building the immutable dictionary. - The value comparer to use for the immutable dictionary. - The type of the keys in the dictionary. - The type of the values in the dictionary. - An immutable sorted dictionary that contains the key/value pairs in the specified sequence. - - - Creates an immutable sorted dictionary from the current contents of the builder's dictionary. - The builder to create the immutable sorted dictionary from. - The type of the keys in the dictionary. - The type of the values in the dictionary. - An immutable sorted dictionary that contains the current contents in the builder's dictionary. - - - Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents. - The sequence to enumerate to generate the dictionary. - The function that will produce the key for the dictionary from each sequence element. - The function that will produce the value for the dictionary from each sequence element. - The type of the elements in the sequence. - The type of the keys in the resulting dictionary. - The type of the values in the resulting dictionary. - An immutable sorted dictionary that contains the items in the specified sequence. - - - Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents by using the specified key comparer. - The sequence to enumerate to generate the dictionary. - The function that will produce the key for the dictionary from each sequence element. - The function that will produce the value for the dictionary from each sequence element. - The key comparer to use for the dictionary. - The type of the elements in the sequence. - The type of the keys in the resulting dictionary. - The type of the values in the resulting dictionary. - An immutable dictionary that contains the items in the specified sequence. - - - Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents by using the specified key and value comparers. - The sequence to enumerate to generate the dictionary. - The function that will produce the key for the dictionary from each sequence element. - The function that will produce the value for the dictionary from each sequence element. - The key comparer to use for the dictionary. - The value comparer to use for the dictionary. - The type of the elements in the sequence. - The type of the keys in the resulting dictionary. - The type of the values in the resulting dictionary. - An immutable sorted dictionary that contains the items in the specified sequence. - - - Represents an immutable sorted dictionary. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The type of the key contained in the dictionary. - The type of the value contained in the dictionary. - - - Adds an element with the specified key and value to the immutable sorted dictionary. - The key of the entry to add. - The value of entry to add. - A new immutable sorted dictionary that contains the additional key/value pair. - The given key already exists in the dictionary but has a different value. - - - Adds the specific key/value pairs to the immutable sorted dictionary. - The key/value pairs to add. - A new immutable dictionary that contains the additional key/value pairs. - One of the given keys already exists in the dictionary but has a different value. - - - Represents a sorted dictionary that mutates with little or no memory allocations and that can produce or build on immutable sorted dictionary instances very efficiently. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - - - Adds an element that has the specified key and value to the immutable sorted dictionary. - The key of the element to add. - The value of the element to add. - - - Adds the specified item to the immutable sorted dictionary. - The object to add to the dictionary. - - - Adds a sequence of values to the immutable sorted dictionary. - The items to add to the dictionary. - - - Removes all items from the immutable sorted dictionary. - - - Determines whether the immutable sorted dictionary contains a specific value. - The object to locate in the dictionary. - - if is found in the dictionary; otherwise, . - - - Determines whether the immutable sorted dictionary contains an element with the specified key. - The key to locate in the dictionary. - - if the dictionary contains an element with the key; otherwise, . - - - Determines whether the immutable sorted dictionary contains an element with the specified value. - The value to locate in the dictionary. The value can be for reference types. - - if the immutable sorted dictionary contains an element with the specified value; otherwise, . - - - Gets the number of elements in this immutable sorted dictionary. - The number of elements in this dictionary. - - - Returns an enumerator that iterates through the immutable sorted dictionary. - An enumerator that can be used to iterate through the dictionary. - - - Gets the value for a given key if a matching key exists in the dictionary; otherwise the default value. - The key to search for. - The value for the key, or default(TValue) if no matching key was found. - - - Gets the value for a given key if a matching key exists in the dictionary; otherwise the default value. - The key to search for. - The default value to return if no matching key is found in the dictionary. - The value for the key, or if no matching key was found. - - - Gets or sets the value for a specified key in the immutable sorted dictionary. - The key to retrieve the value for. - The value associated with the given key. - - - Gets or sets the key comparer. - The key comparer. - - - Gets a strongly typed, read-only collection of elements. - A strongly typed, read-only collection of elements. - - - Removes the element with the specified key from the immutable sorted dictionary. - The key of the element to remove. - - if the element is successfully removed; otherwise, . This method also returns if was not found in the original dictionary. - - - Removes the first occurrence of a specific object from the immutable sorted dictionary. - The object to remove from the dictionary. - - if was successfully removed from the dictionary; otherwise, . This method also returns if is not found in the dictionary. - - - Removes any entries with keys that match those found in the specified sequence from the immutable sorted dictionary. - The keys for entries to remove from the dictionary. - - - - - - - - - - - Copies the elements of the dictionary to an array, starting at a particular array index. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value that indicates whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . - - - Adds an element with the provided key and value to the dictionary object. - The key of the element to add. - The value of the element to add. - - - Determines whether the dictionary object contains an element with the specified key. - The key to locate. - - if the dictionary contains an element with the key; otherwise, . - - - Returns an object for the dictionary. - An object for the dictionary. - - - Gets a value that indicates whether the object has a fixed size. - - if the object has a fixed size; otherwise, . - - - Gets a value that indicates whether the is read-only. - - if the is read-only; otherwise, . - - - Gets or sets the element with the specified key. - The key. - - - Gets an containing the keys of the . - An containing the keys of the object that implements . - - - Removes the element with the specified key from the dictionary. - The key of the element to remove. - - - Gets an containing the values in the . - An containing the values in the object that implements . - - - Returns an enumerator that iterates through a collection. - An enumerator object that can be used to iterate through the collection. - - - Creates an immutable sorted dictionary based on the contents of this instance. - An immutable sorted dictionary. - - - Determines whether this dictionary contains a specified key. - The key to search for. - The matching key located in the dictionary if found, or equalkey if no match is found. - - if a match for is found; otherwise, . - - - Gets the value associated with the specified key. - The key whose value will be retrieved. - When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the parameter. This parameter is passed uninitialized. - - if the object that implements the dictionary contains an element with the specified key; otherwise, . - - - Gets or sets the value comparer. - The value comparer. - - - Returns a read-only reference to the value associated with the provided . - - The is not present. - - - Gets a collection that contains the values of the immutable sorted dictionary. - A collection that contains the values of the object that implements the dictionary. - - - Retrieves an empty immutable sorted dictionary that has the same ordering and key/value comparison rules as this dictionary instance. - An empty dictionary with equivalent ordering and key/value comparison rules. - - - Determines whether this immutable sorted dictionary contains the specified key/value pair. - The key/value pair to locate. - - if the specified key/value pair is found in the dictionary; otherwise, . - - - Determines whether this immutable sorted map contains the specified key. - The key to locate. - - if the immutable dictionary contains the specified key; otherwise, . - - - Determines whether the immutable sorted dictionary contains an element with the specified value. - The value to locate. The value can be for reference types. - - if the dictionary contains an element with the specified value; otherwise, . - - - Gets the number of key/value pairs in the immutable sorted dictionary. - The number of key/value pairs in the dictionary. - - - Gets an empty immutable sorted dictionary. - - - Enumerates the contents of a binary tree. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - - - Gets the element at the current position of the enumerator. - The element at the current position of the enumerator. - - - Releases the resources used by the current instance of the class. - - - Advances the enumerator to the next element of the immutable sorted dictionary. - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the sorted dictionary. - - - Sets the enumerator to its initial position, which is before the first element in the immutable sorted dictionary. - - - The current element. - - - Returns an enumerator that iterates through the immutable sorted dictionary. - An enumerator that can be used to iterate through the dictionary. - - - Gets a value that indicates whether this instance of the immutable sorted dictionary is empty. - - if this instance is empty; otherwise, . - - - Gets the associated with the specified key. - The key to retrieve the value for. - The value associated with the specified key. If no results are found, the operation throws an exception. - - - Gets the key comparer for the immutable sorted dictionary. - The key comparer for the dictionary. - - - Gets the keys in the immutable sorted dictionary. - The keys in the immutable dictionary. - - - Removes the element with the specified value from the immutable sorted dictionary. - The value of the element to remove. - A new immutable dictionary with the specified element removed; or this instance if the specified value cannot be found in the dictionary. - - - Removes the elements with the specified keys from the immutable sorted dictionary. - The keys of the elements to remove. - A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. - - - Sets the specified key and value in the immutable sorted dictionary, possibly overwriting an existing value for the given key. - The key of the entry to add. - The key value to set. - A new immutable sorted dictionary that contains the specified key/value pair. - - - Sets the specified key/value pairs in the immutable sorted dictionary, possibly overwriting existing values for the keys. - The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. - An immutable dictionary that contains the specified key/value pairs. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Copies the elements of the dictionary to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread-safe); otherwise, . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . - - - Adds an element with the provided key and value to the dictionary object. - The object to use as the key of the element to add. - The object to use as the value of the element to add. - - - Clears this instance. - The dictionary object is read-only. - - - Determines whether the immutable dictionary object contains an element with the specified key. - The key to locate in the dictionary object. - - if the dictionary contains an element with the key; otherwise, . - - - Returns an object for the immutable dictionary object. - An enumerator object for the dictionary object. - - - Gets a value indicating whether the object has a fixed size. - - if the object has a fixed size; otherwise, . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . - - - Gets or sets the element with the specified key. - The key. - - - Gets an containing the keys of the . - An containing the keys of the object that implements . - - - Removes the element with the specified key from the immutable dictionary object. - The key of the element to remove. - - - Gets an containing the values in the . - An containing the values in the object that implements . - - - Returns an enumerator that iterates through a collection. - An enumerator object that can be used to iterate through the collection. - - - - - - - - - - - - - - - - - - - - - - - - Creates an immutable sorted dictionary with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces. - A collection with the same contents as this dictionary. - - - Determines whether this dictionary contains a specified key. - The key to search for. - The matching key located in the dictionary if found, or equalkey if no match is found. - - if a match for is found; otherwise, . - - - Gets the value associated with the specified key. - The key whose value will be retrieved. - When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the parameter. - - if the dictionary contains an element with the specified key; otherwise, . - - - Gets the value comparer used to determine whether values are equal. - The value comparer used to determine whether values are equal. - - - Returns a read-only reference to the value associated with the provided . - - The is not present. - - - Gets the values in the immutable sorted dictionary. - The values in the dictionary. - - - Gets an instance of the immutable sorted dictionary that uses the specified key comparer. - The key comparer to use. - An instance of the immutable dictionary that uses the given comparer. - - - Gets an instance of the immutable sorted dictionary that uses the specified key and value comparers. - The key comparer to use. - The value comparer to use. - An instance of the immutable dictionary that uses the given comparers. - - - Provides a set of initialization methods for instances of the class. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - Creates an empty immutable sorted set. - The type of items to be stored in the immutable set. - An empty immutable sorted set. - - - Creates a new immutable sorted set that contains the specified item. - The item to prepopulate the set with. - The type of items in the immutable set. - A new immutable set that contains the specified item. - - - Creates a new immutable sorted set that contains the specified array of items. - An array that contains the items to prepopulate the set with. - The type of items in the immutable set. - A new immutable set that contains the specified items. - - - Creates an empty immutable sorted set that uses the specified comparer. - The implementation to use when comparing items in the set. - The type of items in the immutable set. - An empty immutable set. - - - Creates a new immutable sorted set that contains the specified item and uses the specified comparer. - The implementation to use when comparing items in the set. - The item to prepopulate the set with. - The type of items stored in the immutable set. - A new immutable set that contains the specified item. - - - Creates a new immutable sorted set that contains the specified array of items and uses the specified comparer. - The implementation to use when comparing items in the set. - An array that contains the items to prepopulate the set with. - The type of items in the immutable set. - A new immutable set that contains the specified items. - - - Returns a collection that can be used to build an immutable sorted set. - The type of items stored by the collection. - The immutable collection builder. - - - Returns a collection that can be used to build an immutable sorted set. - The comparer used to compare items in the set for equality. - The type of items stored by the collection. - The immutable collection. - - - Creates a new immutable collection that contains the specified items. - The comparer to use to compare elements in this set. - The items to add to the set before it's immutable. - The type of items stored by the collection. - The new immutable set that contains the specified items. - - - Creates a new immutable collection that contains the specified items. - The items to add to the set with before it's immutable. - The type of items stored by the collection. - The new immutable set that contains the specified items. - - - Enumerates a sequence and produces an immutable sorted set of its contents. - The sequence to enumerate. - The type of the elements in the sequence. - An immutable sorted set that contains the items in the specified sequence. - - - Enumerates a sequence, produces an immutable sorted set of its contents, and uses the specified comparer. - The sequence to enumerate. - The comparer to use for initializing and adding members to the sorted set. - The type of the elements in the sequence. - An immutable sorted set that contains the items in the specified sequence. - - - Creates an immutable sorted set from the current contents of the builder's set. - The builder to create the immutable sorted set from. - The type of the elements in the immutable sorted set. - An immutable sorted set that contains the current contents in the builder's set. - - - Represents an immutable sorted set implementation. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The type of elements in the set. - - - Adds the specified value to this immutable sorted set. - The value to add. - A new set with the element added, or this set if the element is already in this set. - - - Represents a sorted set that enables changes with little or no memory allocations, and efficiently manipulates or builds immutable sorted sets. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - - Adds an element to the current set and returns a value to indicate whether the element was successfully added. - The element to add to the set. - - if the element is added to the set; if the element is already in the set - - - Removes all elements from this set. - - - Determines whether the set contains the specified object. - The object to locate in the set. - - if is found in the set; otherwise, . - - - Gets the number of elements in the immutable sorted set. - The number of elements in this set. - - - Removes the specified set of items from the current set. - The collection of items to remove from the set. - - - Returns an enumerator that iterates through the set. - A enumerator that can be used to iterate through the set. - - - Modifies the current set so that it contains only elements that are also in a specified collection. - The collection to compare to the current set. - - - Determines whether the current set is a proper (strict) subset of a specified collection. - The collection to compare to the current set. - - if the current set is a proper subset of ; otherwise, . - - - Determines whether the current set is a proper (strict) superset of a specified collection. - The collection to compare to the current set. - - if the current set is a proper superset of ; otherwise, . - - - Determines whether the current set is a subset of a specified collection. - The collection is compare to the current set. - - if the current set is a subset of ; otherwise, . - - - Determines whether the current set is a superset of a specified collection. - The collection to compare to the current set. - - if the current set is a superset of ; otherwise, . - - - Gets the element of the set at the given index. - The 0-based index of the element in the set to return. - The element at the given position. - - - Gets a read-only reference to the element of the set at the given . - The 0-based index of the element in the set to return. - A read-only reference to the element at the given position. - - - Gets or sets the object that is used to determine equality for the values in the immutable sorted set. - The comparer that is used to determine equality for the values in the set. - - - Gets the maximum value in the immutable sorted set, as defined by the comparer. - The maximum value in the set. - - - Gets the minimum value in the immutable sorted set, as defined by the comparer. - The minimum value in the set. - - - Determines whether the current set overlaps with the specified collection. - The collection to compare to the current set. - - if the current set and share at least one common element; otherwise, . - - - Removes the first occurrence of the specified object from the set. - The object to remove from the set. - - if was removed from the set; if was not found in the set. - - - Returns an enumerator that iterates over the immutable sorted set in reverse order. - An enumerator that iterates over the set in reverse order. - - - Determines whether the current set and the specified collection contain the same elements. - The collection to compare to the current set. - - if the current set is equal to ; otherwise, . - - - Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. - The collection to compare to the current set. - - - Adds an element to the current set and returns a value to indicate whether the element was successfully added. - The element to add to the set. - - - Copies the elements of the collection to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value that indicates whether this instance is read-only. - Always . - - - Returns an enumerator that iterates through the collection. - A enumerator that can be used to iterate through the collection. - - - Copies the elements of the set to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value that indicates whether access to the is synchronized (thread-safe). - - if access to the is synchronized (thread-safe); otherwise, . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . - - - Returns an enumerator that iterates through the collection. - A enumerator that can be used to iterate through the collection. - - - Creates an immutable sorted set based on the contents of this instance. - An immutable set. - - - Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection. - The collection to compare to the current state. - - - Removes all elements from the immutable sorted set. - An empty set with the elements removed. - - - Determines whether this immutable sorted set contains the specified value. - The value to check for. - - if the set contains the specified value; otherwise, . - - - Gets the number of elements in the immutable sorted set. - The number of elements in the immutable sorted set. - - - Gets an empty immutable sorted set. - - - Enumerates the contents of a binary tree. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - - Gets the element at the current position of the enumerator. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The element at the current position of the enumerator. - - - Releases the resources used by the current instance of the class. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - Advances the enumerator to the next element of the immutable sorted set. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the sorted set. - - - Sets the enumerator to its initial position, which is before the first element in the immutable sorted set. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - The current element. - - - Removes a specified set of items from this immutable sorted set. - The items to remove from this set. - A new set with the items removed; or the original set if none of the items were in the set. - - - Returns an enumerator that iterates through the immutable sorted set. - An enumerator that can be used to iterate through the set. - - - Gets the position within this immutable sorted set that the specified value appears in. - The value whose position is being sought. - The index of the specified in the sorted set, if is found. If is not found and is less than one or more elements in this set, this method returns a negative number that is the bitwise complement of the index of the first element that is larger than value. If is not found and is greater than any of the elements in the set, this method returns a negative number that is the bitwise complement of the index of the last element plus 1. - - - Creates an immutable sorted set that contains elements that exist both in this set and in the specified set. - The set to intersect with this one. - A new immutable sorted set that contains any elements that exist in both sets. - - - Gets a value that indicates whether this immutable sorted set is empty. - - if this set is empty; otherwise, . - - - Determines whether the current immutable sorted set is a proper (strict) subset of the specified collection. - The collection to compare to the current set. - - if the current set is a proper subset of ; otherwise, . - - - Determines whether the current immutable sorted set is a proper superset of a specified collection. - The collection to compare to the current set. - - if the current set is a proper superset of ; otherwise, . - - - Determines whether the current immutable sorted set is a subset of a specified collection. - The collection to compare to the current set. - - if the current set is a subset of ; otherwise, . - - - Determines whether the current immutable sorted set is a superset of a specified collection. - The collection to compare to the current set. - - if the current set is a superset of ; otherwise, . - - - Gets the element of the immutable sorted set at the given index. - The index of the element to retrieve from the sorted set. - The element at the given index. - - - Gets a read-only reference of the element of the set at the given . - The 0-based index of the element in the set to return. - A read-only reference of the element at the given position. - - - Gets the comparer used to sort keys in the immutable sorted set. - The comparer used to sort keys. - - - Gets the maximum value in the immutable sorted set, as defined by the comparer. - The maximum value in the set. - - - Gets the minimum value in the immutable sorted set, as defined by the comparer. - The minimum value in the set. - - - Determines whether the current immutable sorted set and a specified collection share common elements. - The collection to compare to the current set. - - if the current set and share at least one common element; otherwise, . - - - Removes the specified value from this immutable sorted set. - The element to remove. - A new immutable sorted set with the element removed, or this set if the element was not found in the set. - - - Returns an that iterates over this immutable sorted set in reverse order. - An enumerator that iterates over the immutable sorted set in reverse order. - - - Determines whether the current immutable sorted set and the specified collection contain the same elements. - The collection to compare to the current set. - - if the sets are equal; otherwise, . - - - Creates an immutable sorted set that contains elements that exist either in this set or in a given sequence, but not both. - The other sequence of items. - The new immutable sorted set. - - - Adds the specified value to the collection. - The value to add. - - - Removes all the items from the collection. - - - Copies the elements of the collection to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - See the interface. - - - Removes the first occurrence of a specific object from the collection. - The object to remove from the collection. - - if was successfully removed from the collection; otherwise, . - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Inserts an item in the set at the specified index. - The zero-based index at which should be inserted. - The object to insert into the set. - - - See the interface. - - - - Removes the item at the specified index. - The zero-based index of the item to remove. - - - Adds an element to the current set and returns a value to indicate if the element was successfully added. - The element to add to the set. - - if the element is added to the set; if the element is already in the set. - - - Removes all elements in the specified collection from the current set. - The collection of items to remove from the set. - - - Modifies the current set so that it contains only elements that are also in a specified collection. - The collection to compare to the current set. - - - Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. - The collection to compare to the current set. - - - Modifies the current set so that it contains all elements that are present in either the current set or the specified collection. - The collection to compare to the current set. - - - Copies the elements of the set to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - See the interface. - - - See . - - - Returns an enumerator that iterates through a collection. - An enumerator object that can be used to iterate through the collection. - - - Adds an item to the set. - The object to add to the set. - The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. - The set is read-only or has a fixed size. - - - Removes all items from the set. - Thrown in all cases. - - - Determines whether the set contains a specific value. - The object to locate in the set. - - if the object is found in the set; otherwise, . - - - Determines the index of a specific item in the set. - The object to locate in the set. - The index of if found in the list; otherwise, -1. - - - Inserts an item into the set at the specified index. - The zero-based index at which should be inserted. - The object to insert into the set. - The set is read-only or has a fixed size. - - - Gets a value that indicates whether the has a fixed size. - - if the has a fixed size; otherwise, . - - - Gets a value that indicates whether the is read-only. - - if the is read-only; otherwise, . - - - Gets or sets the at the specified index. - The index. - The . - - - - Removes the first occurrence of a specific object from the set. - The object to remove from the set. - The set is read-only or has a fixed size. - - - Removes the item at the specified index of the set. - The zero-based index of the item to remove. - The set is read-only or has a fixed size. - - - Adds the specified element to this immutable set. - The element to add. - A new set with the element added, or this set if the element is already in the set. - - - Retrieves an empty immutable set that has the same sorting and ordering semantics as this instance. - An empty set that has the same sorting and ordering semantics as this instance. - - - Removes the elements in the specified collection from the current immutable set. - The items to remove from this set. - The new set with the items removed; or the original set if none of the items were in the set. - - - Creates an immutable set that contains elements that exist in both this set and the specified set. - The collection to compare to the current set. - A new immutable set that contains any elements that exist in both sets. - - - Removes the specified element from this immutable set. - The element to remove. - A new set with the specified element removed, or the current set if the element cannot be found in the set. - - - Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both. - The collection to compare to the current set. - A new set that contains the elements that are present only in the current set or in the specified collection, but not both. - - - Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection. - The collection to add elements from. - A new immutable set with the items added; or the original set if all the items were already in the set. - - - Creates a collection that has the same contents as this immutable sorted set that can be efficiently manipulated by using standard mutable interfaces. - The sorted set builder. - - - Searches the set for a given value and returns the equal value it finds, if any. - The value to search for. - The value from the set that the search found, or the original value if the search yielded no match. - A value indicating whether the search was successful. - - - Adds a given set of items to this immutable sorted set. - The items to add. - The new set with the items added; or the original set if all the items were already in the set. - - - Returns the immutable sorted set that has the specified key comparer. - The comparer to check for. - The immutable sorted set that has the specified key comparer. - - - Provides a set of initialization methods for instances of the class. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - Creates an empty immutable stack. - The type of items to be stored in the immutable stack. - An empty immutable stack. - - - Creates a new immutable stack that contains the specified item. - The item to prepopulate the stack with. - The type of items in the immutable stack. - A new immutable collection that contains the specified item. - - - Creates a new immutable stack that contains the specified array of items. - An array that contains the items to prepopulate the stack with. - The type of items in the immutable stack. - A new immutable stack that contains the specified items. - - - Creates a new immutable stack that contains the specified items. - The items to add to the stack before it's immutable. - The type of items in the stack. - An immutable stack that contains the specified items. - - - Removes the specified item from an immutable stack. - The stack to modify. - The item to remove from the stack. - The type of items contained in the stack. - A stack; never . - The stack is empty. - - - Represents an immutable stack. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - The type of element on the stack. - - - Removes all objects from the immutable stack. - An empty immutable stack. - - - Gets an empty immutable stack. - An empty immutable stack. - - - Enumerates the contents of an immutable stack without allocating any memory. -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - - Gets the element at the current position of the enumerator. - The element at the current position of the enumerator. - - - Advances the enumerator to the next element of the immutable stack. - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the stack. - - - Returns an enumerator that iterates through the immutable stack. - An enumerator that can be used to iterate through the stack. - - - Gets a value that indicates whether this instance of the immutable stack is empty. - - if this instance is empty; otherwise, . - - - Returns the object at the top of the stack without removing it. - The object at the top of the stack. - The stack is empty. - - - Gets a read-only reference to the element on the top of the stack. - A read-only reference to the element on the top of the stack. - Thrown when the stack is empty. - - - Removes the element at the top of the immutable stack and returns the stack after the removal. - A stack; never . - The stack is empty. - - - Removes the specified element from the immutable stack and returns the stack after the removal. - The value to remove from the stack. - A stack; never . - - - Inserts an object at the top of the immutable stack and returns the new stack. - The object to push onto the stack. - The new stack. - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Returns an enumerator that iterates through a collection. - An object that can be used to iterate through the collection. - - - Removes all elements from the immutable stack. - The empty immutable stack. - - - Removes the element at the top of the immutable stack and returns the new stack. - The new stack; never . - - - Inserts an element at the top of the immutable stack and returns the new stack. - The element to push onto the stack. - The new stack. - - - LINQ extension method overrides that offer greater efficiency for than the standard LINQ methods -NuGet package: System.Collections.Immutable (about immutable collections and how to install) - - - Applies a function to a sequence of elements in a cumulative way. - The collection to apply the function to. - A function to be invoked on each element, in a cumulative way. - The type of element contained by the collection. - The final value after the cumulative function has been applied to all elements. - - - Applies a function to a sequence of elements in a cumulative way. - The collection to apply the function to. - The initial accumulator value. - A function to be invoked on each element, in a cumulative way. - The type of the accumulated value. - The type of element contained by the collection. - The final accumulator value. - - - Applies a function to a sequence of elements in a cumulative way. - The collection to apply the function to. - The initial accumulator value. - A function to be invoked on each element, in a cumulative way. - - The type of the accumulated value. - The type of result returned by the result selector. - The type of element contained by the collection. - The final accumulator value. - - - Gets a value indicating whether all elements in this array match a given condition. - The array to check for matches. - The predicate. - The type of element contained by the collection. - - if every element of the source sequence passes the test in the specified predicate; otherwise, . - - - Gets a value indicating whether the array contains any elements. - The array to check for elements. - The type of element contained by the collection. - - if the array contains an elements; otherwise, . - - - Gets a value indicating whether the array contains any elements that match a specified condition. - The array to check for elements. - The delegate that defines the condition to match to an element. - The type of element contained by the collection. - - if an element matches the specified condition; otherwise, . - - - Returns a value indicating whether this collection contains any elements. - The builder to check for matches. - The type of elements in the array. - - if the array builder contains any elements; otherwise, . - - - Returns the element at a specified index in the array. - The array to find an element in. - The index for the element to retrieve. - The type of element contained by the collection. - The item at the specified index. - - - Returns the element at a specified index in a sequence or a default value if the index is out of range. - The array to find an element in. - The index for the element to retrieve. - The type of element contained by the collection. - The item at the specified index, or the default value if the index is not found. - - - Returns the first element in an array. - The array to get an item from. - The type of element contained by the collection. - The first item in the array. - If the array is empty. - - - Returns the first element in a sequence that satisfies a specified condition. - The array to get an item from. - The delegate that defines the conditions of the element to search for. - The type of element contained by the collection. - The first item in the list if it meets the condition specified by . - If the array is empty. - - - Returns the first element in the collection. - The builder to retrieve an item from. - The type of items in the array. - The first item in the list. - If the array is empty. - - - Returns the first element of a sequence, or a default value if the sequence contains no elements. - The array to retrieve items from. - The type of element contained by the collection. - The first item in the list, if found; otherwise the default value for the item type. - - - Returns the first element of the sequence that satisfies a condition or a default value if no such element is found. - The array to retrieve elements from. - The delegate that defines the conditions of the element to search for. - The type of element contained by the collection. - The first item in the list, if found; otherwise the default value for the item type. - - - Returns the first element in the collection, or the default value if the collection is empty. - The builder to retrieve an element from. - The type of item in the builder. - The first item in the list, if found; otherwise the default value for the item type. - - - Returns the last element of the array. - The array to retrieve items from. - The type of element contained by the array. - The last element in the array. - Thrown if the collection is empty. - - - Returns the last element of a sequence that satisfies a specified condition. - The array to retrieve elements from. - The delegate that defines the conditions of the element to retrieve. - The type of element contained by the collection. - The last element of the array that satisfies the condition. - Thrown if the collection is empty. - - - Returns the last element in the collection. - The builder to retrieve elements from. - The type of item in the builder. - The last element in the builder. - Thrown if the collection is empty. - - - Returns the last element of a sequence, or a default value if the sequence contains no elements. - The array to retrieve items from. - The type of element contained by the collection. - The last element of a sequence, or a default value if the sequence contains no elements. - - - Returns the last element of a sequence that satisfies a condition or a default value if no such element is found. - The array to retrieve an element from. - The delegate that defines the conditions of the element to search for. - The type of element contained by the collection. - The last element of a sequence, or a default value if the sequence contains no elements. - - - Returns the last element in the collection, or the default value if the collection is empty. - The builder to retrieve an element from. - The type of item in the builder. - The last element of a sequence, or a default value if the sequence contains no elements. - - - Projects each element of a sequence into a new form. - The immutable array to select items from. - A transform function to apply to each element. - The type of element contained by the collection. - The type of the result element. - An whose elements are the result of invoking the transform function on each element of source. - - - Projects each element of a sequence to an , flattens the resulting sequences into one sequence, and invokes a result selector function on each element therein. - The immutable array. - A transform function to apply to each element of the input sequence. - A transform function to apply to each element of the intermediate sequence. - The type of the elements of . - The type of the intermediate elements collected by . - The type of the elements of the resulting sequence. - An whose elements are the result of invoking the one-to-many transform function on each element of and then mapping each of those sequence elements and their corresponding source element to a result element. - - - Determines whether two sequences are equal according to an equality comparer. - The array to use for comparison. - The items to use for comparison. - The comparer to use to check for equality. - The type of element in the compared array. - The type of element contained by the collection. - - to indicate the sequences are equal; otherwise, . - - - Determines whether two sequences are equal according to an equality comparer. - The array to use for comparison. - The items to use for comparison. - The comparer to use to check for equality. - The type of element in the compared array. - The type of element contained by the collection. - - to indicate the sequences are equal; otherwise, . - - - Determines whether two sequences are equal according to an equality comparer. - The array to use for comparison. - The items to use for comparison. - The comparer to use to check for equality. - The type of element in the compared array. - The type of element contained by the collection. - - to indicate the sequences are equal; otherwise, . - - - Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. - The array to retrieve the element from. - The type of element contained by the collection. - The element in the sequence. - - - Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists. - - - The type of element contained by the collection. - Returns . - - - Returns the only element of the array, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. - The array. - The type of element contained by the collection. - The element in the array, or the default value if the array is empty. - - contains more than one element. - - - Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. - The array to get the element from. - The condition the element must satisfy. - The type of element contained by the collection. - The element if it satisfies the specified condition; otherwise the default element. - More than one element satisfies the condition in . - - - Copies the contents of this array to a mutable array. - - The type of element contained by the collection. - The newly instantiated array. - - - Creates a dictionary based on the contents of this array. - The array to create a dictionary from. - The key selector. - The type of the key. - The type of element contained by the collection. - The newly initialized dictionary. - - - Creates a dictionary based on the contents of this array. - The array to create a dictionary from. - The key selector. - The comparer to initialize the dictionary with. - The type of the key. - The type of element contained by the collection. - The newly initialized dictionary. - - - Creates a dictionary based on the contents of this array. - The array to create a dictionary from. - The key selector. - The element selector. - The type of the key. - The type of the element. - The type of element contained by the collection. - The newly initialized dictionary. - - - Creates a dictionary based on the contents of this array. - The array to create a dictionary from. - The key selector. - The element selector. - The comparer to initialize the dictionary with. - The type of the key. - The type of the element. - The type of element contained by the collection. - The newly initialized dictionary. - - - Filters a sequence of values based on a predicate. - The array to filter. - The condition to use for filtering the array content. - The type of element contained by the collection. - Returns that contains elements that meet the condition. - - - \ No newline at end of file diff --git a/bin/Release_2.85/System.Memory.dll b/bin/Release_2.85/System.Memory.dll deleted file mode 100644 index 5d19470..0000000 Binary files a/bin/Release_2.85/System.Memory.dll and /dev/null differ diff --git a/bin/Release_2.85/System.Memory.xml b/bin/Release_2.85/System.Memory.xml deleted file mode 100644 index 4d12fd7..0000000 --- a/bin/Release_2.85/System.Memory.xml +++ /dev/null @@ -1,355 +0,0 @@ - - - System.Memory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bin/Release_2.85/System.Numerics.Vectors.dll b/bin/Release_2.85/System.Numerics.Vectors.dll deleted file mode 100644 index 0865972..0000000 Binary files a/bin/Release_2.85/System.Numerics.Vectors.dll and /dev/null differ diff --git a/bin/Release_2.85/System.Numerics.Vectors.xml b/bin/Release_2.85/System.Numerics.Vectors.xml deleted file mode 100644 index da34d39..0000000 --- a/bin/Release_2.85/System.Numerics.Vectors.xml +++ /dev/null @@ -1,2621 +0,0 @@ - - - System.Numerics.Vectors - - - - Represents a 3x2 matrix. - - - Creates a 3x2 matrix from the specified components. - The value to assign to the first element in the first row. - The value to assign to the second element in the first row. - The value to assign to the first element in the second row. - The value to assign to the second element in the second row. - The value to assign to the first element in the third row. - The value to assign to the second element in the third row. - - - Adds each element in one matrix with its corresponding element in a second matrix. - The first matrix. - The second matrix. - The matrix that contains the summed values of value1 and value2. - - - Creates a rotation matrix using the given rotation in radians. - The amount of rotation, in radians. - The rotation matrix. - - - Creates a rotation matrix using the specified rotation in radians and a center point. - The amount of rotation, in radians. - The center point. - The rotation matrix. - - - Creates a scaling matrix from the specified X and Y components. - The value to scale by on the X axis. - The value to scale by on the Y axis. - The scaling matrix. - - - Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. - The uniform scale to use. - The center offset. - The scaling matrix. - - - Creates a scaling matrix that is offset by a given center point. - The value to scale by on the X axis. - The value to scale by on the Y axis. - The center point. - The scaling matrix. - - - Creates a scaling matrix that scales uniformly with the given scale. - The uniform scale to use. - The scaling matrix. - - - Creates a scaling matrix from the specified vector scale. - The scale to use. - The scaling matrix. - - - Creates a scaling matrix from the specified vector scale with an offset from the specified center point. - The scale to use. - The center offset. - The scaling matrix. - - - Creates a skew matrix from the specified angles in radians. - The X angle, in radians. - The Y angle, in radians. - The skew matrix. - - - Creates a skew matrix from the specified angles in radians and a center point. - The X angle, in radians. - The Y angle, in radians. - The center point. - The skew matrix. - - - Creates a translation matrix from the specified 2-dimensional vector. - The translation position. - The translation matrix. - - - Creates a translation matrix from the specified X and Y components. - The X position. - The Y position. - The translation matrix. - - - Returns a value that indicates whether this instance and another 3x2 matrix are equal. - The other matrix. - true if the two matrices are equal; otherwise, false. - - - Returns a value that indicates whether this instance and a specified object are equal. - The object to compare with the current instance. - true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. - - - Calculates the determinant for this matrix. - The determinant. - - - Returns the hash code for this instance. - The hash code. - - - Gets the multiplicative identity matrix. - The multiplicative identify matrix. - - - Inverts the specified matrix. The return value indicates whether the operation succeeded. - The matrix to invert. - When this method returns, contains the inverted matrix if the operation succeeded. - true if matrix was converted successfully; otherwise, false. - - - Indicates whether the current matrix is the identity matrix. - true if the current matrix is the identity matrix; otherwise, false. - - - Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. - The first matrix. - The second matrix. - The relative weighting of matrix2. - The interpolated matrix. - - - The first element of the first row. - - - - The second element of the first row. - - - - The first element of the second row. - - - - The second element of the second row. - - - - The first element of the third row. - - - - The second element of the third row. - - - - Returns the matrix that results from multiplying two matrices together. - The first matrix. - The second matrix. - The product matrix. - - - Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. - The matrix to scale. - The scaling value to use. - The scaled matrix. - - - Negates the specified matrix by multiplying all its values by -1. - The matrix to negate. - The negated matrix. - - - Adds each element in one matrix with its corresponding element in a second matrix. - The first matrix. - The second matrix. - The matrix that contains the summed values. - - - Returns a value that indicates whether the specified matrices are equal. - The first matrix to compare. - The second matrix to compare. - true if value1 and value2 are equal; otherwise, false. - - - Returns a value that indicates whether the specified matrices are not equal. - The first matrix to compare. - The second matrix to compare. - true if value1 and value2 are not equal; otherwise, false. - - - Returns the matrix that results from multiplying two matrices together. - The first matrix. - The second matrix. - The product matrix. - - - Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. - The matrix to scale. - The scaling value to use. - The scaled matrix. - - - Subtracts each element in a second matrix from its corresponding element in a first matrix. - The first matrix. - The second matrix. - The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. - - - Negates the specified matrix by multiplying all its values by -1. - The matrix to negate. - The negated matrix. - - - Subtracts each element in a second matrix from its corresponding element in a first matrix. - The first matrix. - The second matrix. - The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. - - - Returns a string that represents this matrix. - The string representation of this matrix. - - - Gets or sets the translation component of this matrix. - The translation component of the current instance. - - - Represents a 4x4 matrix. - - - Creates a object from a specified object. - A 3x2 matrix. - - - Creates a 4x4 matrix from the specified components. - The value to assign to the first element in the first row. - The value to assign to the second element in the first row. - The value to assign to the third element in the first row. - The value to assign to the fourth element in the first row. - The value to assign to the first element in the second row. - The value to assign to the second element in the second row. - The value to assign to the third element in the second row. - The value to assign to the third element in the second row. - The value to assign to the first element in the third row. - The value to assign to the second element in the third row. - The value to assign to the third element in the third row. - The value to assign to the fourth element in the third row. - The value to assign to the first element in the fourth row. - The value to assign to the second element in the fourth row. - The value to assign to the third element in the fourth row. - The value to assign to the fourth element in the fourth row. - - - Adds each element in one matrix with its corresponding element in a second matrix. - The first matrix. - The second matrix. - The matrix that contains the summed values of value1 and value2. - - - Creates a spherical billboard that rotates around a specified object position. - The position of the object that the billboard will rotate around. - The position of the camera. - The up vector of the camera. - The forward vector of the camera. - The created billboard. - - - Creates a cylindrical billboard that rotates around a specified axis. - The position of the object that the billboard will rotate around. - The position of the camera. - The axis to rotate the billboard around. - The forward vector of the camera. - The forward vector of the object. - The billboard matrix. - - - Creates a matrix that rotates around an arbitrary vector. - The axis to rotate around. - The angle to rotate around axis, in radians. - The rotation matrix. - - - Creates a rotation matrix from the specified Quaternion rotation value. - The source Quaternion. - The rotation matrix. - - - Creates a rotation matrix from the specified yaw, pitch, and roll. - The angle of rotation, in radians, around the Y axis. - The angle of rotation, in radians, around the X axis. - The angle of rotation, in radians, around the Z axis. - The rotation matrix. - - - Creates a view matrix. - The position of the camera. - The target towards which the camera is pointing. - The direction that is &quot;up&quot; from the camera&#39;s point of view. - The view matrix. - - - Creates an orthographic perspective matrix from the given view volume dimensions. - The width of the view volume. - The height of the view volume. - The minimum Z-value of the view volume. - The maximum Z-value of the view volume. - The orthographic projection matrix. - - - Creates a customized orthographic projection matrix. - The minimum X-value of the view volume. - The maximum X-value of the view volume. - The minimum Y-value of the view volume. - The maximum Y-value of the view volume. - The minimum Z-value of the view volume. - The maximum Z-value of the view volume. - The orthographic projection matrix. - - - Creates a perspective projection matrix from the given view volume dimensions. - The width of the view volume at the near view plane. - The height of the view volume at the near view plane. - The distance to the near view plane. - The distance to the far view plane. - The perspective projection matrix. - nearPlaneDistance is less than or equal to zero. - -or- - farPlaneDistance is less than or equal to zero. - -or- - nearPlaneDistance is greater than or equal to farPlaneDistance. - - - Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. - The field of view in the y direction, in radians. - The aspect ratio, defined as view space width divided by height. - The distance to the near view plane. - The distance to the far view plane. - The perspective projection matrix. - fieldOfView is less than or equal to zero. - -or- - fieldOfView is greater than or equal to . - nearPlaneDistance is less than or equal to zero. - -or- - farPlaneDistance is less than or equal to zero. - -or- - nearPlaneDistance is greater than or equal to farPlaneDistance. - - - Creates a customized perspective projection matrix. - The minimum x-value of the view volume at the near view plane. - The maximum x-value of the view volume at the near view plane. - The minimum y-value of the view volume at the near view plane. - The maximum y-value of the view volume at the near view plane. - The distance to the near view plane. - The distance to the far view plane. - The perspective projection matrix. - nearPlaneDistance is less than or equal to zero. - -or- - farPlaneDistance is less than or equal to zero. - -or- - nearPlaneDistance is greater than or equal to farPlaneDistance. - - - Creates a matrix that reflects the coordinate system about a specified plane. - The plane about which to create a reflection. - A new matrix expressing the reflection. - - - Creates a matrix for rotating points around the X axis. - The amount, in radians, by which to rotate around the X axis. - The rotation matrix. - - - Creates a matrix for rotating points around the X axis from a center point. - The amount, in radians, by which to rotate around the X axis. - The center point. - The rotation matrix. - - - The amount, in radians, by which to rotate around the Y axis from a center point. - The amount, in radians, by which to rotate around the Y-axis. - The center point. - The rotation matrix. - - - Creates a matrix for rotating points around the Y axis. - The amount, in radians, by which to rotate around the Y-axis. - The rotation matrix. - - - Creates a matrix for rotating points around the Z axis. - The amount, in radians, by which to rotate around the Z-axis. - The rotation matrix. - - - Creates a matrix for rotating points around the Z axis from a center point. - The amount, in radians, by which to rotate around the Z-axis. - The center point. - The rotation matrix. - - - Creates a scaling matrix from the specified vector scale. - The scale to use. - The scaling matrix. - - - Creates a uniform scaling matrix that scale equally on each axis. - The uniform scaling factor. - The scaling matrix. - - - Creates a scaling matrix with a center point. - The vector that contains the amount to scale on each axis. - The center point. - The scaling matrix. - - - Creates a uniform scaling matrix that scales equally on each axis with a center point. - The uniform scaling factor. - The center point. - The scaling matrix. - - - Creates a scaling matrix from the specified X, Y, and Z components. - The value to scale by on the X axis. - The value to scale by on the Y axis. - The value to scale by on the Z axis. - The scaling matrix. - - - Creates a scaling matrix that is offset by a given center point. - The value to scale by on the X axis. - The value to scale by on the Y axis. - The value to scale by on the Z axis. - The center point. - The scaling matrix. - - - Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. - The direction from which the light that will cast the shadow is coming. - The plane onto which the new matrix should flatten geometry so as to cast a shadow. - A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. - - - Creates a translation matrix from the specified 3-dimensional vector. - The amount to translate in each axis. - The translation matrix. - - - Creates a translation matrix from the specified X, Y, and Z components. - The amount to translate on the X axis. - The amount to translate on the Y axis. - The amount to translate on the Z axis. - The translation matrix. - - - Creates a world matrix with the specified parameters. - The position of the object. - The forward direction of the object. - The upward direction of the object. Its value is usually [0, 1, 0]. - The world matrix. - - - Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. - The source matrix. - When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. - When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. - When the method returns, contains the translation component of the transformation matrix if the operation succeeded. - true if matrix was decomposed successfully; otherwise, false. - - - Returns a value that indicates whether this instance and another 4x4 matrix are equal. - The other matrix. - true if the two matrices are equal; otherwise, false. - - - Returns a value that indicates whether this instance and a specified object are equal. - The object to compare with the current instance. - true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. - - - Calculates the determinant of the current 4x4 matrix. - The determinant. - - - Returns the hash code for this instance. - The hash code. - - - Gets the multiplicative identity matrix. - Gets the multiplicative identity matrix. - - - Inverts the specified matrix. The return value indicates whether the operation succeeded. - The matrix to invert. - When this method returns, contains the inverted matrix if the operation succeeded. - true if matrix was converted successfully; otherwise, false. - - - Indicates whether the current matrix is the identity matrix. - true if the current matrix is the identity matrix; otherwise, false. - - - Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. - The first matrix. - The second matrix. - The relative weighting of matrix2. - The interpolated matrix. - - - The first element of the first row. - - - - The second element of the first row. - - - - The third element of the first row. - - - - The fourth element of the first row. - - - - The first element of the second row. - - - - The second element of the second row. - - - - The third element of the second row. - - - - The fourth element of the second row. - - - - The first element of the third row. - - - - The second element of the third row. - - - - The third element of the third row. - - - - The fourth element of the third row. - - - - The first element of the fourth row. - - - - The second element of the fourth row. - - - - The third element of the fourth row. - - - - The fourth element of the fourth row. - - - - Returns the matrix that results from multiplying two matrices together. - The first matrix. - The second matrix. - The product matrix. - - - Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. - The matrix to scale. - The scaling value to use. - The scaled matrix. - - - Negates the specified matrix by multiplying all its values by -1. - The matrix to negate. - The negated matrix. - - - Adds each element in one matrix with its corresponding element in a second matrix. - The first matrix. - The second matrix. - The matrix that contains the summed values. - - - Returns a value that indicates whether the specified matrices are equal. - The first matrix to compare. - The second matrix to care - true if value1 and value2 are equal; otherwise, false. - - - Returns a value that indicates whether the specified matrices are not equal. - The first matrix to compare. - The second matrix to compare. - true if value1 and value2 are not equal; otherwise, false. - - - Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. - The matrix to scale. - The scaling value to use. - The scaled matrix. - - - Returns the matrix that results from multiplying two matrices together. - The first matrix. - The second matrix. - The product matrix. - - - Subtracts each element in a second matrix from its corresponding element in a first matrix. - The first matrix. - The second matrix. - The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. - - - Negates the specified matrix by multiplying all its values by -1. - The matrix to negate. - The negated matrix. - - - Subtracts each element in a second matrix from its corresponding element in a first matrix. - The first matrix. - The second matrix. - The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. - - - Returns a string that represents this matrix. - The string representation of this matrix. - - - Transforms the specified matrix by applying the specified Quaternion rotation. - The matrix to transform. - The rotation t apply. - The transformed matrix. - - - Gets or sets the translation component of this matrix. - The translation component of the current instance. - - - Transposes the rows and columns of a matrix. - The matrix to transpose. - The transposed matrix. - - - Represents a three-dimensional plane. - - - Creates a object from a specified four-dimensional vector. - A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. - - - Creates a object from a specified normal and the distance along the normal from the origin. - The plane&#39;s normal vector. - The plane&#39;s distance from the origin along its normal vector. - - - Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. - The X component of the normal. - The Y component of the normal. - The Z component of the normal. - The distance of the plane along its normal from the origin. - - - Creates a object that contains three specified points. - The first point defining the plane. - The second point defining the plane. - The third point defining the plane. - The plane containing the three points. - - - The distance of the plane along its normal from the origin. - - - - Calculates the dot product of a plane and a 4-dimensional vector. - The plane. - The four-dimensional vector. - The dot product. - - - Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. - The plane. - The 3-dimensional vector. - The dot product. - - - Returns the dot product of a specified three-dimensional vector and the vector of this plane. - The plane. - The three-dimensional vector. - The dot product. - - - Returns a value that indicates whether this instance and a specified object are equal. - The object to compare with the current instance. - true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. - - - Returns a value that indicates whether this instance and another plane object are equal. - The other plane. - true if the two planes are equal; otherwise, false. - - - Returns the hash code for this instance. - The hash code. - - - The normal vector of the plane. - - - - Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. - The source plane. - The normalized plane. - - - Returns a value that indicates whether two planes are equal. - The first plane to compare. - The second plane to compare. - true if value1 and value2 are equal; otherwise, false. - - - Returns a value that indicates whether two planes are not equal. - The first plane to compare. - The second plane to compare. - true if value1 and value2 are not equal; otherwise, false. - - - Returns the string representation of this plane object. - A string that represents this object. - - - Transforms a normalized plane by a 4x4 matrix. - The normalized plane to transform. - The transformation matrix to apply to plane. - The transformed plane. - - - Transforms a normalized plane by a Quaternion rotation. - The normalized plane to transform. - The Quaternion rotation to apply to the plane. - A new plane that results from applying the Quaternion rotation. - - - Represents a vector that is used to encode three-dimensional physical rotations. - - - Creates a quaternion from the specified vector and rotation parts. - The vector part of the quaternion. - The rotation part of the quaternion. - - - Constructs a quaternion from the specified components. - The value to assign to the X component of the quaternion. - The value to assign to the Y component of the quaternion. - The value to assign to the Z component of the quaternion. - The value to assign to the W component of the quaternion. - - - Adds each element in one quaternion with its corresponding element in a second quaternion. - The first quaternion. - The second quaternion. - The quaternion that contains the summed values of value1 and value2. - - - Concatenates two quaternions. - The first quaternion rotation in the series. - The second quaternion rotation in the series. - A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. - - - Returns the conjugate of a specified quaternion. - The quaternion. - A new quaternion that is the conjugate of value. - - - Creates a quaternion from a vector and an angle to rotate about the vector. - The vector to rotate around. - The angle, in radians, to rotate around the vector. - The newly created quaternion. - - - Creates a quaternion from the specified rotation matrix. - The rotation matrix. - The newly created quaternion. - - - Creates a new quaternion from the given yaw, pitch, and roll. - The yaw angle, in radians, around the Y axis. - The pitch angle, in radians, around the X axis. - The roll angle, in radians, around the Z axis. - The resulting quaternion. - - - Divides one quaternion by a second quaternion. - The dividend. - The divisor. - The quaternion that results from dividing value1 by value2. - - - Calculates the dot product of two quaternions. - The first quaternion. - The second quaternion. - The dot product. - - - Returns a value that indicates whether this instance and another quaternion are equal. - The other quaternion. - true if the two quaternions are equal; otherwise, false. - - - Returns a value that indicates whether this instance and a specified object are equal. - The object to compare with the current instance. - true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. - - - Returns the hash code for this instance. - The hash code. - - - Gets a quaternion that represents no rotation. - A quaternion whose values are (0, 0, 0, 1). - - - Returns the inverse of a quaternion. - The quaternion. - The inverted quaternion. - - - Gets a value that indicates whether the current instance is the identity quaternion. - true if the current instance is the identity quaternion; otherwise, false. - - - Calculates the length of the quaternion. - The computed length of the quaternion. - - - Calculates the squared length of the quaternion. - The length squared of the quaternion. - - - Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. - The first quaternion. - The second quaternion. - The relative weight of quaternion2 in the interpolation. - The interpolated quaternion. - - - Returns the quaternion that results from multiplying two quaternions together. - The first quaternion. - The second quaternion. - The product quaternion. - - - Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. - The source quaternion. - The scalar value. - The scaled quaternion. - - - Reverses the sign of each component of the quaternion. - The quaternion to negate. - The negated quaternion. - - - Divides each component of a specified by its length. - The quaternion to normalize. - The normalized quaternion. - - - Adds each element in one quaternion with its corresponding element in a second quaternion. - The first quaternion. - The second quaternion. - The quaternion that contains the summed values of value1 and value2. - - - Divides one quaternion by a second quaternion. - The dividend. - The divisor. - The quaternion that results from dividing value1 by value2. - - - Returns a value that indicates whether two quaternions are equal. - The first quaternion to compare. - The second quaternion to compare. - true if the two quaternions are equal; otherwise, false. - - - Returns a value that indicates whether two quaternions are not equal. - The first quaternion to compare. - The second quaternion to compare. - true if value1 and value2 are not equal; otherwise, false. - - - Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. - The source quaternion. - The scalar value. - The scaled quaternion. - - - Returns the quaternion that results from multiplying two quaternions together. - The first quaternion. - The second quaternion. - The product quaternion. - - - Subtracts each element in a second quaternion from its corresponding element in a first quaternion. - The first quaternion. - The second quaternion. - The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. - - - Reverses the sign of each component of the quaternion. - The quaternion to negate. - The negated quaternion. - - - Interpolates between two quaternions, using spherical linear interpolation. - The first quaternion. - The second quaternion. - The relative weight of the second quaternion in the interpolation. - The interpolated quaternion. - - - Subtracts each element in a second quaternion from its corresponding element in a first quaternion. - The first quaternion. - The second quaternion. - The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. - - - Returns a string that represents this quaternion. - The string representation of this quaternion. - - - The rotation component of the quaternion. - - - - The X value of the vector component of the quaternion. - - - - The Y value of the vector component of the quaternion. - - - - The Z value of the vector component of the quaternion. - - - - Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. - The vector type. T can be any primitive numeric type. - - - Creates a vector whose components are of a specified type. - The numeric type that defines the type of the components in the vector. - - - Creates a vector from a specified array. - A numeric array. - values is null. - - - Creates a vector from a specified array starting at a specified index position. - A numeric array. - The starting index position from which to create the vector. - values is null. - index is less than zero. - -or- - The length of values minus index is less than . - - - Copies the vector instance to a specified destination array. - The array to receive a copy of the vector values. - destination is null. - The number of elements in the current vector is greater than the number of elements available in the destination array. - - - Copies the vector instance to a specified destination array starting at a specified index position. - The array to receive a copy of the vector values. - The starting index in destination at which to begin the copy operation. - destination is null. - The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. - index is less than zero or greater than the last index in destination. - - - Returns the number of elements stored in the vector. - The number of elements stored in the vector. - Access to the property getter via reflection is not supported. - - - Returns a value that indicates whether this instance is equal to a specified vector. - The vector to compare with this instance. - true if the current instance and other are equal; otherwise, false. - - - Returns a value that indicates whether this instance is equal to a specified object. - The object to compare with this instance. - true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. - - - Returns the hash code for this instance. - The hash code. - - - Gets the element at a specified index. - The index of the element to return. - The element at index index. - index is less than zero. - -or- - index is greater than or equal to . - - - Returns a vector containing all ones. - A vector containing all ones. - - - Adds two vectors together. - The first vector to add. - The second vector to add. - The summed vector. - - - Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. - The first vector. - The second vector. - The vector that results from the bitwise And of left and right. - - - Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. - The first vector. - The second vector. - The vector that results from the bitwise Or of the elements in left and right. - - - Divides the first vector by the second. - The first vector. - The second vector. - The vector that results from dividing left by right. - - - Returns a value that indicates whether each pair of elements in two specified vectors are equal. - The first vector to compare. - The second vector to compare. - true if left and right are equal; otherwise, false. - - - Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. - The first vector. - The second vector. - The vector that results from the bitwise XOr of the elements in left and right. - - - Reinterprets the bits of the specified vector into a vector of type . - The vector to reinterpret. - The reinterpreted vector. - - - Reinterprets the bits of the specified vector into a vector of type . - The vector to reinterpret. - The reinterpreted vector. - - - Reinterprets the bits of the specified vector into a vector of type . - The vector to reinterpret. - The reinterpreted vector. - - - Reinterprets the bits of the specified vector into a vector of type . - The vector to reinterpret. - The reinterpreted vector. - - - Reinterprets the bits of the specified vector into a vector of type . - The vector to reinterpret. - The reinterpreted vector. - - - Reinterprets the bits of the specified vector into a vector of type . - The vector to reinterpret. - The reinterpreted vector. - - - Reinterprets the bits of the specified vector into a vector of type . - The vector to reinterpret. - The reinterpreted vector. - - - Reinterprets the bits of the specified vector into a vector of type . - The vector to reinterpret. - The reinterpreted vector. - - - Reinterprets the bits of the specified vector into a vector of type . - The vector to reinterpret. - The reinterpreted vector. - - - Reinterprets the bits of the specified vector into a vector of type . - The vector to reinterpret. - The reinterpreted vector. - - - Returns a value that indicates whether any single pair of elements in the specified vectors is equal. - The first vector to compare. - The second vector to compare. - true if any element pairs in left and right are equal. false if no element pairs are equal. - - - Multiplies two vectors together. - The first vector. - The second vector. - The product vector. - - - Multiplies a vector by a specified scalar value. - The source vector. - A scalar value. - The scaled vector. - - - Multiplies a vector by the given scalar. - The scalar value. - The source vector. - The scaled vector. - - - Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. - The source vector. - The one&#39;s complement vector. - - - Subtracts the second vector from the first. - The first vector. - The second vector. - The vector that results from subtracting right from left. - - - Negates a given vector. - The vector to negate. - The negated vector. - - - Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. - A or that defines the format of individual elements. - A format provider that supplies culture-specific formatting information. - The string representation of the current instance. - - - Returns the string representation of this vector using default formatting. - The string representation of this vector. - - - Returns the string representation of this vector using the specified format string to format individual elements. - A or that defines the format of individual elements. - The string representation of the current instance. - - - Returns a vector containing all zeroes. - A vector containing all zeroes. - - - Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. - - - Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. - The source vector. - The vector type. T can be any primitive numeric type. - The absolute value vector. - - - Returns a new vector whose values are the sum of each pair of elements from two given vectors. - The first vector. - The second vector. - The vector type. T can be any primitive numeric type. - The summed vector. - - - Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. - The first vector. - The second vector. - The vector type. T can be any primitive numeric type. - The resulting vector. - - - Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. - The source vector. - The vector type. T can be any primitive numeric type. - The reinterpreted vector. - - - Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. - The source vector. - The vector type. T can be any primitive numeric type. - The reinterpreted vector. - - - Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. - The source vector. - The vector type. T can be any primitive numeric type. - The reinterpreted vector. - - - Reinterprets the bits of a specified vector into those of a vector of integers. - The source vector. - The vector type. T can be any primitive numeric type. - The reinterpreted vector. - - - Reinterprets the bits of a specified vector into those of a vector of long integers. - The source vector. - The vector type. T can be any primitive numeric type. - The reinterpreted vector. - - - Reinterprets the bits of a specified vector into those of a vector of signed bytes. - The source vector. - The vector type. T can be any primitive numeric type. - The reinterpreted vector. - - - Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. - The source vector. - The vector type. T can be any primitive numeric type. - The reinterpreted vector. - - - Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. - The source vector. - The vector type. T can be any primitive numeric type. - The reinterpreted vector. - - - Reinterprets the bits of a specified vector into those of a vector of unsigned integers. - The source vector. - The vector type. T can be any primitive numeric type. - The reinterpreted vector. - - - Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. - The source vector. - The vector type. T can be any primitive numeric type. - The reinterpreted vector. - - - Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. - The first vector. - The second vector. - The vector type. T can be any primitive numeric type. - The resulting vector. - - - Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. - The first vector. - The second vector. - The vector type. T can be any primitive numeric type. - The resulting vector. - - - Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. - The integral mask vector used to drive selection. - The first source vector. - The second source vector. - The new vector with elements selected based on the mask. - - - Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. - The integral mask vector used to drive selection. - The first source vector. - The second source vector. - The new vector with elements selected based on the mask. - - - Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. - The integral mask vector used to drive selection. - The first source vector. - The second source vector. - The vector type. T can be any primitive numeric type. - The new vector with elements selected based on the mask. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. - The first vector. - The second vector. - The vector type. T can be any primitive numeric type. - The divided vector. - - - Returns the dot product of two vectors. - The first vector. - The second vector. - The vector type. T can be any primitive numeric type. - The dot product. - - - Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. - The first vector to compare. - The second vector to compare. - The resulting integral vector. - - - Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. - The first vector to compare. - The second vector to compare. - The resulting integral vector. - - - Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. - The first vector to compare. - The second vector to compare. - The resulting long integer vector. - - - Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. - The first vector to compare. - The second vector to compare. - The resulting integral vector. - - - Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - The resulting vector. - - - Returns a value that indicates whether each pair of elements in the given vectors is equal. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - true if all elements in left and right are equal; otherwise, false. - - - Returns a value that indicates whether any single pair of elements in the given vectors is equal. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - true if any element pair in left and right is equal; otherwise, false. - - - Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. - The first vector to compare. - The second vector to compare. - The resulting integral vector. - - - Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. - The first vector to compare. - The second vector to compare. - The resulting integral vector. - - - Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. - The first vector to compare. - The second vector to compare. - The resulting long integer vector. - - - Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. - The first vector to compare. - The second vector to compare. - The resulting integral vector. - - - Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - The resulting vector. - - - Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - true if all elements in left are greater than the corresponding elements in right; otherwise, false. - - - Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - true if any element in left is greater than the corresponding element in right; otherwise, false. - - - Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. - The first vector to compare. - The second vector to compare. - The resulting integral vector. - - - Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. - The first vector to compare. - The second vector to compare. - The resulting long integer vector. - - - Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. - The first vector to compare. - The second vector to compare. - The resulting integral vector. - - - Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. - The first vector to compare. - The second vector to compare. - The resulting integral vector. - - - Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - The resulting vector. - - - Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. - - - Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. - - - Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. - true if vector operations are subject to hardware acceleration; otherwise, false. - - - Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. - The first vector to compare. - The second vector to compare. - The resulting integral vector. - - - Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. - The first vector to compare. - The second vector to compare. - The resulting integral vector - - - Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. - The first vector to compare. - The second vector to compare. - The resulting long integer vector. - - - Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. - The first vector to compare. - The second vector to compare. - The resulting integral vector. - - - Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - The resulting vector. - - - Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - true if all of the elements in left are less than the corresponding elements in right; otherwise, false. - - - Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - true if any element in left is less than the corresponding element in right; otherwise, false. - - - Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. - The first vector to compare. - The second vector to compare. - The resulting integral vector. - - - Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. - The first vector to compare. - The second vector to compare. - The resulting integral vector. - - - Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. - The first vector to compare. - The second vector to compare. - The resulting long integer vector. - - - Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. - The first vector to compare. - The second vector to compare. - The resulting integral vector. - - - Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - The resulting vector. - - - Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. - - - Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - true if any element in left is less than or equal to the corresponding element in right; otherwise, false. - - - Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - The maximum vector. - - - Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. - The first vector to compare. - The second vector to compare. - The vector type. T can be any primitive numeric type. - The minimum vector. - - - Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. - The scalar value. - The vector. - The vector type. T can be any primitive numeric type. - The scaled vector. - - - Returns a new vector whose values are the product of each pair of elements in two specified vectors. - The first vector. - The second vector. - The vector type. T can be any primitive numeric type. - The product vector. - - - Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. - The vector. - The scalar value. - The vector type. T can be any primitive numeric type. - The scaled vector. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Returns a new vector whose elements are the negation of the corresponding element in the specified vector. - The source vector. - The vector type. T can be any primitive numeric type. - The negated vector. - - - Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. - The source vector. - The vector type. T can be any primitive numeric type. - The resulting vector. - - - Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. - The source vector. - The vector type. T can be any primitive numeric type. - The square root vector. - - - Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. - The first vector. - The second vector. - The vector type. T can be any primitive numeric type. - The difference vector. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. - The first vector. - The second vector. - The vector type. T can be any primitive numeric type. - The resulting vector. - - - Represents a vector with two single-precision floating-point values. - - - Creates a new object whose two elements have the same value. - The value to assign to both elements. - - - Creates a vector whose elements have the specified values. - The value to assign to the field. - The value to assign to the field. - - - Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. - A vector. - The absolute value vector. - - - Adds two vectors together. - The first vector to add. - The second vector to add. - The summed vector. - - - Restricts a vector between a minimum and a maximum value. - The vector to restrict. - The minimum value. - The maximum value. - The restricted vector. - - - Copies the elements of the vector to a specified array. - The destination array. - array is null. - The number of elements in the current instance is greater than in the array. - array is multidimensional. - - - Copies the elements of the vector to a specified array starting at a specified index position. - The destination array. - The index at which to copy the first element of the vector. - array is null. - The number of elements in the current instance is greater than in the array. - index is less than zero. - -or- - index is greater than or equal to the array length. - array is multidimensional. - - - Computes the Euclidean distance between the two given points. - The first point. - The second point. - The distance. - - - Returns the Euclidean distance squared between two specified points. - The first point. - The second point. - The distance squared. - - - Divides the first vector by the second. - The first vector. - The second vector. - The vector resulting from the division. - - - Divides the specified vector by a specified scalar value. - The vector. - The scalar value. - The vector that results from the division. - - - Returns the dot product of two vectors. - The first vector. - The second vector. - The dot product. - - - Returns a value that indicates whether this instance and a specified object are equal. - The object to compare with the current instance. - true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. - - - Returns a value that indicates whether this instance and another vector are equal. - The other vector. - true if the two vectors are equal; otherwise, false. - - - Returns the hash code for this instance. - The hash code. - - - Returns the length of the vector. - The vector&#39;s length. - - - Returns the length of the vector squared. - The vector&#39;s length squared. - - - Performs a linear interpolation between two vectors based on the given weighting. - The first vector. - The second vector. - A value between 0 and 1 that indicates the weight of value2. - The interpolated vector. - - - Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. - The first vector. - The second vector. - The maximized vector. - - - Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. - The first vector. - The second vector. - The minimized vector. - - - Multiplies two vectors together. - The first vector. - The second vector. - The product vector. - - - Multiplies a vector by a specified scalar. - The vector to multiply. - The scalar value. - The scaled vector. - - - Multiplies a scalar value by a specified vector. - The scaled value. - The vector. - The scaled vector. - - - Negates a specified vector. - The vector to negate. - The negated vector. - - - Returns a vector with the same direction as the specified vector, but with a length of one. - The vector to normalize. - The normalized vector. - - - Gets a vector whose 2 elements are equal to one. - A vector whose two elements are equal to one (that is, it returns the vector (1,1). - - - Adds two vectors together. - The first vector to add. - The second vector to add. - The summed vector. - - - Divides the first vector by the second. - The first vector. - The second vector. - The vector that results from dividing left by right. - - - Divides the specified vector by a specified scalar value. - The vector. - The scalar value. - The result of the division. - - - Returns a value that indicates whether each pair of elements in two specified vectors is equal. - The first vector to compare. - The second vector to compare. - true if left and right are equal; otherwise, false. - - - Returns a value that indicates whether two specified vectors are not equal. - The first vector to compare. - The second vector to compare. - true if left and right are not equal; otherwise, false. - - - Multiplies two vectors together. - The first vector. - The second vector. - The product vector. - - - Multiples the specified vector by the specified scalar value. - The vector. - The scalar value. - The scaled vector. - - - Multiples the scalar value by the specified vector. - The vector. - The scalar value. - The scaled vector. - - - Subtracts the second vector from the first. - The first vector. - The second vector. - The vector that results from subtracting right from left. - - - Negates the specified vector. - The vector to negate. - The negated vector. - - - Returns the reflection of a vector off a surface that has the specified normal. - The source vector. - The normal of the surface being reflected off. - The reflected vector. - - - Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. - A vector. - The square root vector. - - - Subtracts the second vector from the first. - The first vector. - The second vector. - The difference vector. - - - Returns the string representation of the current instance using default formatting. - The string representation of the current instance. - - - Returns the string representation of the current instance using the specified format string to format individual elements. - A or that defines the format of individual elements. - The string representation of the current instance. - - - Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. - A or that defines the format of individual elements. - A format provider that supplies culture-specific formatting information. - The string representation of the current instance. - - - Transforms a vector by a specified 3x2 matrix. - The vector to transform. - The transformation matrix. - The transformed vector. - - - Transforms a vector by a specified 4x4 matrix. - The vector to transform. - The transformation matrix. - The transformed vector. - - - Transforms a vector by the specified Quaternion rotation value. - The vector to rotate. - The rotation to apply. - The transformed vector. - - - Transforms a vector normal by the given 3x2 matrix. - The source vector. - The matrix. - The transformed vector. - - - Transforms a vector normal by the given 4x4 matrix. - The source vector. - The matrix. - The transformed vector. - - - Gets the vector (1,0). - The vector (1,0). - - - Gets the vector (0,1). - The vector (0,1). - - - The X component of the vector. - - - - The Y component of the vector. - - - - Returns a vector whose 2 elements are equal to zero. - A vector whose two elements are equal to zero (that is, it returns the vector (0,0). - - - Represents a vector with three single-precision floating-point values. - - - Creates a new object whose three elements have the same value. - The value to assign to all three elements. - - - Creates a new object from the specified object and the specified value. - The vector with two elements. - The additional value to assign to the field. - - - Creates a vector whose elements have the specified values. - The value to assign to the field. - The value to assign to the field. - The value to assign to the field. - - - Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. - A vector. - The absolute value vector. - - - Adds two vectors together. - The first vector to add. - The second vector to add. - The summed vector. - - - Restricts a vector between a minimum and a maximum value. - The vector to restrict. - The minimum value. - The maximum value. - The restricted vector. - - - Copies the elements of the vector to a specified array. - The destination array. - array is null. - The number of elements in the current instance is greater than in the array. - array is multidimensional. - - - Copies the elements of the vector to a specified array starting at a specified index position. - The destination array. - The index at which to copy the first element of the vector. - array is null. - The number of elements in the current instance is greater than in the array. - index is less than zero. - -or- - index is greater than or equal to the array length. - array is multidimensional. - - - Computes the cross product of two vectors. - The first vector. - The second vector. - The cross product. - - - Computes the Euclidean distance between the two given points. - The first point. - The second point. - The distance. - - - Returns the Euclidean distance squared between two specified points. - The first point. - The second point. - The distance squared. - - - Divides the specified vector by a specified scalar value. - The vector. - The scalar value. - The vector that results from the division. - - - Divides the first vector by the second. - The first vector. - The second vector. - The vector resulting from the division. - - - Returns the dot product of two vectors. - The first vector. - The second vector. - The dot product. - - - Returns a value that indicates whether this instance and another vector are equal. - The other vector. - true if the two vectors are equal; otherwise, false. - - - Returns a value that indicates whether this instance and a specified object are equal. - The object to compare with the current instance. - true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. - - - Returns the hash code for this instance. - The hash code. - - - Returns the length of this vector object. - The vector&#39;s length. - - - Returns the length of the vector squared. - The vector&#39;s length squared. - - - Performs a linear interpolation between two vectors based on the given weighting. - The first vector. - The second vector. - A value between 0 and 1 that indicates the weight of value2. - The interpolated vector. - - - Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. - The first vector. - The second vector. - The maximized vector. - - - Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. - The first vector. - The second vector. - The minimized vector. - - - Multiplies a scalar value by a specified vector. - The scaled value. - The vector. - The scaled vector. - - - Multiplies two vectors together. - The first vector. - The second vector. - The product vector. - - - Multiplies a vector by a specified scalar. - The vector to multiply. - The scalar value. - The scaled vector. - - - Negates a specified vector. - The vector to negate. - The negated vector. - - - Returns a vector with the same direction as the specified vector, but with a length of one. - The vector to normalize. - The normalized vector. - - - Gets a vector whose 3 elements are equal to one. - A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). - - - Adds two vectors together. - The first vector to add. - The second vector to add. - The summed vector. - - - Divides the first vector by the second. - The first vector. - The second vector. - The vector that results from dividing left by right. - - - Divides the specified vector by a specified scalar value. - The vector. - The scalar value. - The result of the division. - - - Returns a value that indicates whether each pair of elements in two specified vectors is equal. - The first vector to compare. - The second vector to compare. - true if left and right are equal; otherwise, false. - - - Returns a value that indicates whether two specified vectors are not equal. - The first vector to compare. - The second vector to compare. - true if left and right are not equal; otherwise, false. - - - Multiplies two vectors together. - The first vector. - The second vector. - The product vector. - - - Multiples the specified vector by the specified scalar value. - The vector. - The scalar value. - The scaled vector. - - - Multiples the scalar value by the specified vector. - The vector. - The scalar value. - The scaled vector. - - - Subtracts the second vector from the first. - The first vector. - The second vector. - The vector that results from subtracting right from left. - - - Negates the specified vector. - The vector to negate. - The negated vector. - - - Returns the reflection of a vector off a surface that has the specified normal. - The source vector. - The normal of the surface being reflected off. - The reflected vector. - - - Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. - A vector. - The square root vector. - - - Subtracts the second vector from the first. - The first vector. - The second vector. - The difference vector. - - - Returns the string representation of the current instance using default formatting. - The string representation of the current instance. - - - Returns the string representation of the current instance using the specified format string to format individual elements. - A or that defines the format of individual elements. - The string representation of the current instance. - - - Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. - A or that defines the format of individual elements. - A format provider that supplies culture-specific formatting information. - The string representation of the current instance. - - - Transforms a vector by a specified 4x4 matrix. - The vector to transform. - The transformation matrix. - The transformed vector. - - - Transforms a vector by the specified Quaternion rotation value. - The vector to rotate. - The rotation to apply. - The transformed vector. - - - Transforms a vector normal by the given 4x4 matrix. - The source vector. - The matrix. - The transformed vector. - - - Gets the vector (1,0,0). - The vector (1,0,0). - - - Gets the vector (0,1,0). - The vector (0,1,0).. - - - Gets the vector (0,0,1). - The vector (0,0,1). - - - The X component of the vector. - - - - The Y component of the vector. - - - - The Z component of the vector. - - - - Gets a vector whose 3 elements are equal to zero. - A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). - - - Represents a vector with four single-precision floating-point values. - - - Creates a new object whose four elements have the same value. - The value to assign to all four elements. - - - Constructs a new object from the specified object and a W component. - The vector to use for the X, Y, and Z components. - The W component. - - - Creates a new object from the specified object and a Z and a W component. - The vector to use for the X and Y components. - The Z component. - The W component. - - - Creates a vector whose elements have the specified values. - The value to assign to the field. - The value to assign to the field. - The value to assign to the field. - The value to assign to the field. - - - Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. - A vector. - The absolute value vector. - - - Adds two vectors together. - The first vector to add. - The second vector to add. - The summed vector. - - - Restricts a vector between a minimum and a maximum value. - The vector to restrict. - The minimum value. - The maximum value. - The restricted vector. - - - Copies the elements of the vector to a specified array. - The destination array. - array is null. - The number of elements in the current instance is greater than in the array. - array is multidimensional. - - - Copies the elements of the vector to a specified array starting at a specified index position. - The destination array. - The index at which to copy the first element of the vector. - array is null. - The number of elements in the current instance is greater than in the array. - index is less than zero. - -or- - index is greater than or equal to the array length. - array is multidimensional. - - - Computes the Euclidean distance between the two given points. - The first point. - The second point. - The distance. - - - Returns the Euclidean distance squared between two specified points. - The first point. - The second point. - The distance squared. - - - Divides the first vector by the second. - The first vector. - The second vector. - The vector resulting from the division. - - - Divides the specified vector by a specified scalar value. - The vector. - The scalar value. - The vector that results from the division. - - - Returns the dot product of two vectors. - The first vector. - The second vector. - The dot product. - - - Returns a value that indicates whether this instance and another vector are equal. - The other vector. - true if the two vectors are equal; otherwise, false. - - - Returns a value that indicates whether this instance and a specified object are equal. - The object to compare with the current instance. - true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. - - - Returns the hash code for this instance. - The hash code. - - - Returns the length of this vector object. - The vector&#39;s length. - - - Returns the length of the vector squared. - The vector&#39;s length squared. - - - Performs a linear interpolation between two vectors based on the given weighting. - The first vector. - The second vector. - A value between 0 and 1 that indicates the weight of value2. - The interpolated vector. - - - Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. - The first vector. - The second vector. - The maximized vector. - - - Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. - The first vector. - The second vector. - The minimized vector. - - - Multiplies two vectors together. - The first vector. - The second vector. - The product vector. - - - Multiplies a vector by a specified scalar. - The vector to multiply. - The scalar value. - The scaled vector. - - - Multiplies a scalar value by a specified vector. - The scaled value. - The vector. - The scaled vector. - - - Negates a specified vector. - The vector to negate. - The negated vector. - - - Returns a vector with the same direction as the specified vector, but with a length of one. - The vector to normalize. - The normalized vector. - - - Gets a vector whose 4 elements are equal to one. - Returns . - - - Adds two vectors together. - The first vector to add. - The second vector to add. - The summed vector. - - - Divides the first vector by the second. - The first vector. - The second vector. - The vector that results from dividing left by right. - - - Divides the specified vector by a specified scalar value. - The vector. - The scalar value. - The result of the division. - - - Returns a value that indicates whether each pair of elements in two specified vectors is equal. - The first vector to compare. - The second vector to compare. - true if left and right are equal; otherwise, false. - - - Returns a value that indicates whether two specified vectors are not equal. - The first vector to compare. - The second vector to compare. - true if left and right are not equal; otherwise, false. - - - Multiplies two vectors together. - The first vector. - The second vector. - The product vector. - - - Multiples the specified vector by the specified scalar value. - The vector. - The scalar value. - The scaled vector. - - - Multiples the scalar value by the specified vector. - The vector. - The scalar value. - The scaled vector. - - - Subtracts the second vector from the first. - The first vector. - The second vector. - The vector that results from subtracting right from left. - - - Negates the specified vector. - The vector to negate. - The negated vector. - - - Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. - A vector. - The square root vector. - - - Subtracts the second vector from the first. - The first vector. - The second vector. - The difference vector. - - - Returns the string representation of the current instance using default formatting. - The string representation of the current instance. - - - Returns the string representation of the current instance using the specified format string to format individual elements. - A or that defines the format of individual elements. - The string representation of the current instance. - - - Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. - A or that defines the format of individual elements. - A format provider that supplies culture-specific formatting information. - The string representation of the current instance. - - - Transforms a four-dimensional vector by the specified Quaternion rotation value. - The vector to rotate. - The rotation to apply. - The transformed vector. - - - Transforms a four-dimensional vector by a specified 4x4 matrix. - The vector to transform. - The transformation matrix. - The transformed vector. - - - Transforms a three-dimensional vector by the specified Quaternion rotation value. - The vector to rotate. - The rotation to apply. - The transformed vector. - - - Transforms a two-dimensional vector by a specified 4x4 matrix. - The vector to transform. - The transformation matrix. - The transformed vector. - - - Transforms a two-dimensional vector by the specified Quaternion rotation value. - The vector to rotate. - The rotation to apply. - The transformed vector. - - - Transforms a three-dimensional vector by a specified 4x4 matrix. - The vector to transform. - The transformation matrix. - The transformed vector. - - - Gets the vector (0,0,0,1). - The vector (0,0,0,1). - - - Gets the vector (1,0,0,0). - The vector (1,0,0,0). - - - Gets the vector (0,1,0,0). - The vector (0,1,0,0).. - - - Gets a vector whose 4 elements are equal to zero. - The vector (0,0,1,0). - - - The W component of the vector. - - - - The X component of the vector. - - - - The Y component of the vector. - - - - The Z component of the vector. - - - - Gets a vector whose 4 elements are equal to zero. - A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). - - - \ No newline at end of file diff --git a/bin/Release_2.85/System.Runtime.CompilerServices.Unsafe.dll b/bin/Release_2.85/System.Runtime.CompilerServices.Unsafe.dll deleted file mode 100644 index de9e124..0000000 Binary files a/bin/Release_2.85/System.Runtime.CompilerServices.Unsafe.dll and /dev/null differ diff --git a/bin/Release_2.85/System.Runtime.CompilerServices.Unsafe.xml b/bin/Release_2.85/System.Runtime.CompilerServices.Unsafe.xml deleted file mode 100644 index 6a7cfcf..0000000 --- a/bin/Release_2.85/System.Runtime.CompilerServices.Unsafe.xml +++ /dev/null @@ -1,200 +0,0 @@ - - - System.Runtime.CompilerServices.Unsafe - - - - Contains generic, low-level functionality for manipulating pointers. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds a byte offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of byte offset to pointer. - - - Determines whether the specified references point to the same location. - The first reference to compare. - The second reference to compare. - The type of reference. - true if left and right point to the same location; otherwise, false. - - - Casts the given object to the specified type. - The object to cast. - The type which the object will be cast to. - The original object, casted to the given type. - - - Reinterprets the given reference as a reference to a value of type TTo. - The reference to reinterpret. - The type of reference to reinterpret.. - The desired type of the reference. - A reference to a value of type TTo. - - - Returns a pointer to the given by-ref parameter. - The object whose pointer is obtained. - The type of object. - A pointer to the given value. - - - Reinterprets the given location as a reference to a value of type T. - The location of the value to reference. - The type of the interpreted location. - A reference to a value of type T. - - - Determines the byte offset from origin to target from the given references. - The reference to origin. - The reference to target. - The type of reference. - Byte offset from origin to target i.e. target - origin. - - - Copies a value of type T to the given location. - The location to copy to. - A reference to the value to copy. - The type of value to copy. - - - Copies a value of type T to the given location. - The location to copy to. - A pointer to the value to copy. - The type of value to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address -without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address -without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value -without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value -without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Reads a value of type T from the given location. - The location to read from. - The type to read. - An object of type T read from the given location. - - - Reads a value of type T from the given location -without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type T read from the given location. - - - Reads a value of type T from the given location -without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type T read from the given location. - - - Returns the size of an object of the given type parameter. - The type of object whose size is retrieved. - The size of an object of type T. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subraction of offset from pointer. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subraction of offset from pointer. - - - Subtracts a byte offset from the given reference. - The reference to subtract the offset from. - - The type of reference. - A new reference that reflects the subraction of byte offset from pointer. - - - Writes a value of type T to the given location. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type T to the given location -without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type T to the given location -without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - \ No newline at end of file diff --git a/bin/Release_2.85/proto/message.proto b/bin/Release_2.85/proto/message.proto deleted file mode 100644 index 4cd59c5..0000000 --- a/bin/Release_2.85/proto/message.proto +++ /dev/null @@ -1,582 +0,0 @@ -syntax = "proto3"; - -message Response{ - repeated Message messages = 1; - string cursor = 2; - int64 fetchInterval = 3; - int64 now = 4; - string internalExt = 5; - int32 fetchType = 6; - map routeParams = 7; - int64 heartbeatDuration = 8; - bool needAck = 9; - string pushServer = 10; - string liveCursor = 11; - bool historyNoMore = 12; -} - -message Message{ - string method = 1; - bytes payload = 2; - int64 msgId = 3; - int32 msgType = 4; - int64 offset = 5; -} - -message RoomUserSeqMessage { - Common common = 1; - repeated Contributor ranks = 2; - int64 total = 3; - string popStr = 4; - repeated Contributor seats = 5; - int64 popularity = 6; - int64 totalUser = 7; - string totalUserStr = 8; - string totalStr = 9; - string onlineUserForAnchor = 10; - string totalPvForAnchor = 11; - - message Contributor { - int64 score = 1; - User user = 2; - int64 rank = 3; - int64 delta = 4; - bool isHidden = 5; - string scoreDescription = 6; - string exactlyScore = 7; - } -} - -message GiftMessage { - Common common = 1; - int64 giftId = 2; - int64 fanTicketCount = 3; - int64 groupCount = 4; - int64 repeatCount = 5; - int64 comboCount = 6; - User user = 7; - User toUser = 8; - int32 repeatEnd = 9; - TextEffect textEffect = 10; - int64 groupId = 11; - int64 incomeTaskgifts = 12; - int64 roomFanTicketCount = 13; - GiftIMPriority priority = 14; - GiftStruct gift = 15; - string logId = 16; - int64 sendType = 17; - PublicAreaCommon publicAreaCommon = 18; - Text trayDisplayText = 19; - int64 bannedDisplayEffects = 20; - GiftTrayInfo trayInfo = 21; - AssetEffectMixInfo assetEffectMixInfo = 24; - - message TextEffect{ - Detail portrait = 1; - Detail landscape = 2; - - message Detail { - Text text = 1; - int32 textFontSize = 2; - Image background = 3; - int32 start = 4; - int32 duration = 5; - int32 x = 6; - int32 y = 7; - int32 width = 8; - int32 height = 9; - int32 shadowDx = 10; - int32 shadowDy = 11; - int32 shadowRadius = 12; - string shadowColor = 13; - string strokeColor = 14; - int32 strokeWidth = 15; - } - } -} - -message LikeMessage { - Common common = 1; - int64 count = 2; - int64 total = 3; - int64 color = 4; - User user = 5; - string icon = 6; -} - -message ChatMessage { - Common common = 1; - User user = 2; - string content = 3; - bool visibleToSender = 4; - Image backgroundImage = 5; - string fullScreenTextColor = 6; - Image backgroundImageV2 = 7; - PublicAreaCommon publicAreaCommon = 9; - Image giftImage = 10; -} - -message SocialMessage { - Common common = 1; - User user = 2; - int64 shareType = 3; - int64 action = 4; - string shareTarget = 5; - int64 followCount = 6; - PublicAreaCommon publicAreaCommon = 7; -} - -message MemberMessage{ - Common common = 1; - User user = 2; - int64 memberCount = 3; - User operator = 4; - bool isSetToAdmin = 5; - bool isTopUser = 6; - int64 rankScore = 7; - int64 topUserNo = 8; - int64 enterType = 9; - int64 action = 10; - string actionDescription = 11; - int64 userId = 12; - EffectConfig effectConfig = 13; - string popStr = 14; - EffectConfig enterEffectConfig = 15; - Image backgroundImage = 16; - Image backgroundImageV2 = 17; - Text anchorDisplayText = 18; - PublicAreaCommon publicAreaCommon = 19; - - message EffectConfig{ - int64 type = 1; - Image icon = 2; - int64 avatarPos = 3; - Text text = 4; - Image textIcon = 5; - int32 stayTime = 6; - int64 animAssetId = 7; - Image badge = 8; - repeated int64 flexSettingArray = 9; - Image textIconOverlay = 10; - Image animatedBadge = 11; - bool hasSweepLight = 12; - repeated int64 textFlexSettingArray = 13; - int64 centerAnimAssetId = 14; - } -} - -message ControlMessage { - Common common = 1; - int32 status = 2; -} - -message FansclubMessage { - Common commonInfo = 1; - // 升级是1,加入是2 - int32 type = 2; - string content = 3; - User user = 4; -} - -message Common{ - string method = 1; - int64 msgId = 2; - int64 roomId = 3; - int64 createTime = 4; - int32 monitor = 5; - bool isShowMsg = 6; - string describe = 7; - Text displayText = 8; - int64 foldType = 9; - int64 anchorFoldType = 10; - int64 priorityScore = 11; - string logId = 12; - string msgProcessFilterK = 13; - string msgProcessFilterV = 14; - User user = 15; - Room room = 16; - int64 anchorFoldTypeV2 = 17; - int64 processAtSeiTimeMs = 18; -} - -message Text{ - string key = 1; - string defaultPattern = 2; - TextFormat defaultFormat = 3; - repeated TextPiece pieces = 4; -} - -message Room { - int64 id = 1; - string idStr = 2; - int64 status = 3; - int64 ownerUserId = 4; - string title = 5; - int64 userCount = 6; - int64 createTime = 7; - int64 linkmicLayout = 8; - int64 finishTime = 9; - RoomExtra extra = 10; - string dynamicCoverUri = 11; - map dynamicCoverDict = 12; - int64 lastPingTime = 13; - int64 liveId = 14; - int64 streamProvider = 15; - int64 osType = 16; - int64 clientVersion = 17; - bool withLinkmic = 18; - bool enableRoomPerspective = 19; - Image cover = 20; - Image dynamicCover = 21; - Image dynamicCoverLow = 22; - string shareUrl = 23; - string anchorShareText = 24; - string userShareText = 25; - int64 streamId = 26; - string streamIdStr = 27; - StreamUrl streamUrl = 28; - int64 mosaicStatus = 29; - string mosaicTip = 30; - int64 cellStyle = 31; - LinkMic linkMic = 32; - int64 luckymoneyNum = 33; - repeated Decoration decoList = 34; - repeated TopFan topFans = 35; - RoomStats stats = 36; - string sunDailyIconContent = 37; - string distance = 38; - string distanceCity = 39; - string location = 40; - string realDistance = 41; - Image feedRoomLabel = 42; - string commonLabelList = 43; - RoomUserAttr livingRoomAttrs = 44; - repeated int64 adminUserIds = 45; - User owner = 46; - string privateInfo = 47; -} - -message RoomExtra{ - -} - -message RoomStats{ - -} - -message RoomUserAttr{ - -} - -message StreamUrl{ - -} - -message LinkMic { - -} - -message Decoration{ - -} - -message TopFan { - -} - -message User{ - int64 id = 1; - int64 shortId = 2; - string nickname = 3; - int32 gender = 4; - string signature = 5; - int32 level = 6; - int64 birthday = 7; - string telephone = 8; - Image avatarThumb = 9; - Image avatarMedium = 10; - Image avatarLarge = 11; - bool verified = 12; - int32 experience = 13; - string city = 14; - int32 status = 15; - int64 createTime = 16; - int64 modifyTime = 17; - int32 secret = 18; - string shareQrcodeUri = 19; - int32 incomeSharePercent = 20; - Image badgeImageList = 21; - FollowInfo followInfo = 22; - PayGrade payGrade = 23; - FansClub fansClub = 24; - Border border = 25; - string specialId = 26; - Image avatarBorder = 27; - Image medal = 28; - repeated Image realTimeIcons = 29; - repeated Image newRealTimeIcons = 30; - int64 topVipNo = 31; - UserAttr userAttr = 32; - OwnRoom ownRoom = 33; - int64 payScore = 34; - int64 ticketCount = 35; - AnchorInfo anchorInfo = 36; - int32 linkMicStats = 37; - string displayId = 38; - - message UserAttr { - - } - - message OwnRoom { - - } - - message AnchorInfo { - - } - - message FollowInfo { - int64 followingCount = 1; - int64 followerCount = 2; - int64 followStatus = 3; - int64 pushStatus = 4; - string remarkName = 5; - } - - message FansClub{ - FansClubData data = 1; - map preferData = 2; - - message FansClubData { - string clubName = 1; - int32 level = 2; - int32 userFansClubStatus = 3; - UserBadge badge = 4; - repeated int64 availableGiftIds = 5; - int64 anchorId = 6; - - message UserBadge { - map icons = 1; - string title = 2; - } - } - } - - message Border{ - - } - - message GradeBuffInfo { - int64 buffLevel = 1; - int32 status = 2; - int64 endTime = 3; - map statsInfo = 4; - Image buffBadge = 5; - } - - message PayGrade { - int64 totalDiamondCount = 1; - Image diamondIcon = 2; - string name = 3; - Image icon = 4; - string nextName = 5; - int64 level = 6; - Image nextIcon = 7; - int64 nextDiamond = 8; - int64 nowDiamond = 9; - int64 thisGradeMinDiamond = 10; - int64 thisGradeMaxDiamond = 11; - int64 payDiamondBak = 12; - string gradeDescribe = 13; - repeated GradeIcon gradeIconList = 14; - int64 screenChatType = 15; - Image imIcon = 16; - Image imIconWithLevel = 17; - Image liveIcon = 18; - Image newImIconWithLevel = 19; - Image newLiveIcon = 20; - int64 upgradeNeedConsume = 21; - string nextPrivileges = 22; - Image background = 23; - Image backgroundBack = 24; - int64 score = 25; - GradeBuffInfo buffInfo = 26; - string gradeBanner = 1001; - Image profileDialogBg = 1002; - Image profileDialogBgBack = 1003; - - message GradeIcon{ - Image icon = 1; - int64 iconDiamond = 2; - int64 level = 3; - string levelStr = 4; - } - } -} - -message TextFormat{ - string color = 1; - bool bold = 2; - bool italic = 3; - int32 weight = 4; - int32 italicAngle = 5; - int32 fontSize = 6; - bool userHeightLightColor = 7; - bool useRemoteClor = 8; -} - -message TextPiece{ - int32 type = 1; - TextFormat format = 2; - string stringValue = 11; - TextPieceUser userValue = 21; -} - -message Image{ - repeated string urlList = 1; - string uri = 2; - int64 height = 3; - int64 width = 4; - string avgColor = 5; - int32 imageType = 6; - string openWebUrl = 7; - Content content = 8; - bool isAnimated = 9; - - message Content { - string name = 1; - string fontColor = 2; - int64 level = 3; - string alternativeText = 4; - } -} - -message TextPieceUser{ - User user = 1; - bool withColon = 2; -} - -message PublicAreaCommon { - Image userLabel = 1; - int64 userConsumeInRoom = 2; - int64 userSendGiftCntInRoom = 3; -} - -message GiftIMPriority { - repeated int64 queueSizes = 1; - int64 selfQueuePriority = 2; - int64 priority = 3; -} - -message GiftTrayInfo{ - Text trayDisplayText = 1; - Image trayBaseImg = 2; - Image trayHeadImg = 3; - Image trayRightImg = 4; - int64 trayLevel = 5; - Image trayDynamicImg = 6; -} - -message GiftStruct { - Image image = 1; - string describe = 2; - bool notify = 3; - int64 duration = 4; - int64 id = 5; - GiftStructFansClubInfo fansclubInfo = 6; - bool forLinkmic = 7; - bool doodle = 8; - bool forFansclub = 9; - bool combo = 10; - int32 type = 11; - int32 diamondCount = 12; - int32 isDisplayedOnPanel = 13; - int64 primaryEffectId = 14; - Image giftLabelIcon = 15; - string name = 16; - string region = 17; - string manual = 18; - bool forCustom = 19; - map specialEffects = 20; - Image icon = 21; - int32 actionType = 22; - int32 watermelonSeeds = 23; - string goldEffect = 24; - repeated LuckyMoneyGiftMeta subs = 25; - int64 goldenBeans = 26; - int64 honorLevel = 27; - int32 itemType = 28; - string schemeUrl = 29; - GiftPanelOperation giftOperation = 30; - string eventName = 31; - int64 nobleLevel = 32; - string guideUrl = 33; - bool punishMedicine = 34; - bool forPortal = 35; - string businessText = 36; - bool cnyGift = 37; - int64 appId = 38; - int64 vipLevel = 39; - bool isGray = 40; - string graySchemeUrl = 41; - int64 giftScene = 42; - GiftBanner giftBanner = 43; - repeated string triggerWords = 44; - repeated GiftBuffInfo giftBuffInfos = 45; - bool forFirstRecharge = 46; - Image dynamicImgForSelected = 47; - int32 afterSendAction = 48; - int64 giftOfflineTime = 49; - string topBarText = 50; - Image topRightAvatar = 51; - string bannerSchemeUrl = 52; - bool isLocked = 53; - int64 reqExtraType = 54; - repeated int64 assetIds = 55; - GiftPreviewInfo giftPreviewInfo = 56; - GiftTip giftTip = 57; - int32 needSweepLightCount = 58; - repeated GiftGroupInfo groupInfo = 59; - - message GiftStructFansClubInfo { - int32 minLevel = 1; - int32 insertPos = 2; - } -} - -message AssetEffectMixInfo{ - -} - -message LuckyMoneyGiftMeta { - -} - -message GiftPanelOperation { - -} - -message GiftBanner { - -} - -message GiftBuffInfo{ - -} - -message GiftPreviewInfo{ - -} - -message GiftTip { - -} - -message GiftGroupInfo { - -} - -message EffectMixImageInfo { - -} \ No newline at end of file diff --git a/bin/Release_2.85/proto/wss.proto b/bin/Release_2.85/proto/wss.proto deleted file mode 100644 index 655fb98..0000000 --- a/bin/Release_2.85/proto/wss.proto +++ /dev/null @@ -1,12 +0,0 @@ -syntax = "proto3"; - -message WssResponse{ - uint64 seqid = 1; - uint64 logid = 2; - uint64 service = 3; - uint64 method = 4; - map headers = 5; - string payloadEncoding = 6; - string payloadType = 7; - bytes payload = 8; -} \ No newline at end of file diff --git a/bin/Release_2.85/protobuf-net.Core.dll b/bin/Release_2.85/protobuf-net.Core.dll deleted file mode 100644 index b3f1805..0000000 Binary files a/bin/Release_2.85/protobuf-net.Core.dll and /dev/null differ diff --git a/bin/Release_2.85/protobuf-net.Core.xml b/bin/Release_2.85/protobuf-net.Core.xml deleted file mode 100644 index d032f75..0000000 --- a/bin/Release_2.85/protobuf-net.Core.xml +++ /dev/null @@ -1,4443 +0,0 @@ - - - - protobuf-net.Core - - - - - Provides support for common .NET types that do not have a direct representation - in protobuf, using the definitions from bcl.proto - - - - - Creates a new instance of the specified type, bypassing the constructor. - - The type to create - The new instance - - - - Writes a TimeSpan to a protobuf stream using protobuf-net's own representation, bcl.TimeSpan - - - - - Writes a TimeSpan to a protobuf stream using protobuf-net's own representation, bcl.TimeSpan - - - - - Parses a TimeSpan from a protobuf stream using protobuf-net's own representation, bcl.TimeSpan - - - - - Parses a TimeSpan from a protobuf stream using protobuf-net's own representation, bcl.TimeSpan - - - - - Parses a TimeSpan from a protobuf stream using the standardized format, google.protobuf.Duration - - - - - Parses a TimeSpan from a protobuf stream using the standardized format, google.protobuf.Duration - - - - - Writes a TimeSpan to a protobuf stream using the standardized format, google.protobuf.Duration - - - - - Writes a TimeSpan to a protobuf stream using the standardized format, google.protobuf.Duration - - - - - Parses a DateTime from a protobuf stream using the standardized format, google.protobuf.Timestamp - - - - - Parses a DateTime from a protobuf stream using the standardized format, google.protobuf.Timestamp - - - - - Writes a DateTime to a protobuf stream using the standardized format, google.protobuf.Timestamp - - - - - Writes a DateTime to a protobuf stream using the standardized format, google.protobuf.Timestamp - - - - - Parses a DateTime from a protobuf stream - - - - - Parses a DateTime from a protobuf stream - - - - - Writes a DateTime to a protobuf stream, excluding the Kind - - - - - Writes a DateTime to a protobuf stream, excluding the Kind - - - - - Writes a DateTime to a protobuf stream, including the Kind - - - - - Writes a DateTime to a protobuf stream, including the Kind - - - - - Parses a decimal from a protobuf stream - - - - - Parses a decimal from a protobuf stream - - - - - Parses a decimal from a protobuf stream - - - - - Writes a decimal to a protobuf stream - - - - - Writes a decimal to a protobuf stream - - - - - Writes a decimal to a protobuf stream - - - - - Writes a Guid to a protobuf stream - - - - - Writes a Guid to a protobuf stream - - - - - Writes a Guid to a protobuf stream - - - - - Writes a Guid to a protobuf stream - - - - - Parses a Guid from a protobuf stream - - - - - Parses a Guid from a protobuf stream - - - - - Parses a Guid from a protobuf stream - - - - - Parses a Guid from a protobuf stream - - - - - Provides a simple buffer-based implementation of an extension object. - - - - Specifies a method on the root-contract in an hierarchy to be invoked before serialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked after serialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. - - - - Defines the compatibility level / conventions to use when encoding common - types into protobuf. When starting a new green-field project the highest - available level can be safely applied, but note that changing the - compatibility level changes the encoding. For this reason, it should not - be casually changed on brown-field projects, unless you are also knowingly - breaking the encoding requirements of pre-existing data. If not specified, - the oldest (lowest number) is assumed, for safety. - - - - - Functionally identical to - - - - - Uses bcl.proto for , , and , for compatibility - with all versions of protobuf-net, at the expense of being inconvenient for use with other protobuf implementations. - - - - - Like , but uses '.google.protobuf.Timestamp' for and '.google.protobuf.Duration' for . - This is functionally identical to a configuration that specifies . - - - - - Like , but uses 'string' for (big-endian hyphenated UUID format; a shorter 'bytes' variant is also available via ) - and (invariant "general" format). - - - - - Defines the compatibiltiy level to use for an element - - - - - The compatibiltiy level to use for this element - - - - - Create a new CompatibilityLevelAttribute instance - - - - - Sub-format to use when serializing/deserializing data - - - - - Uses the default encoding for the data-type. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that zigzag variant encoding will be used. This means that values - with small magnitude (regardless of sign) take a small amount - of space to encode. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that two's-complement variant encoding will be used. - This means that any -ve number will take 10 bytes (even for 32-bit), - so should only be used for compatibility. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that a fixed amount of space will be used. - - - - - When applied to a sub-message, indicates that the value should be treated - as group-delimited. - - - - - When applied to members of types such as DateTime or TimeSpan, specifies - that the "well known" standardized representation should be use; DateTime uses Timestamp, - TimeSpan uses Duration. - - - - Represent multiple types as a union; this is used as part of OneOf - - note that it is the caller's responsbility to only read/write the value as the same type - - - The value typed as Object - - - Indicates whether the specified discriminator is assigned - - - Create a new discriminated union value - - - Reset a value if the specified discriminator is assigned - - - The discriminator value - - - Represent multiple types as a union; this is used as part of OneOf - - note that it is the caller's responsbility to only read/write the value as the same type - - - The value typed as Int64 - - - The value typed as UInt64 - - - The value typed as Int32 - - - The value typed as UInt32 - - - The value typed as Boolean - - - The value typed as Single - - - The value typed as Double - - - The value typed as DateTime - - - The value typed as TimeSpan - - - Indicates whether the specified discriminator is assigned - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Reset a value if the specified discriminator is assigned - - - The discriminator value - - - Represent multiple types as a union; this is used as part of OneOf - - note that it is the caller's responsbility to only read/write the value as the same type - - - The value typed as Int64 - - - The value typed as UInt64 - - - The value typed as Int32 - - - The value typed as UInt32 - - - The value typed as Boolean - - - The value typed as Single - - - The value typed as Double - - - The value typed as DateTime - - - The value typed as TimeSpan - - - The value typed as Guid - - - The value typed as Object - - - Indicates whether the specified discriminator is assigned - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Reset a value if the specified discriminator is assigned - - - The discriminator value - - - Represent multiple types as a union; this is used as part of OneOf - - note that it is the caller's responsbility to only read/write the value as the same type - - - The value typed as Int64 - - - The value typed as UInt64 - - - The value typed as Int32 - - - The value typed as UInt32 - - - The value typed as Boolean - - - The value typed as Single - - - The value typed as Double - - - The value typed as DateTime - - - The value typed as TimeSpan - - - The value typed as Guid - - - Indicates whether the specified discriminator is assigned - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Reset a value if the specified discriminator is assigned - - - The discriminator value - - - Represent multiple types as a union; this is used as part of OneOf - - note that it is the caller's responsbility to only read/write the value as the same type - - - The value typed as Int64 - - - The value typed as UInt64 - - - The value typed as Int32 - - - The value typed as UInt32 - - - The value typed as Boolean - - - The value typed as Single - - - The value typed as Double - - - The value typed as DateTime - - - The value typed as TimeSpan - - - The value typed as Object - - - Indicates whether the specified discriminator is assigned - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Reset a value if the specified discriminator is assigned - - - The discriminator value - - - Represent multiple types as a union; this is used as part of OneOf - - note that it is the caller's responsbility to only read/write the value as the same type - - - The value typed as Int32 - - - The value typed as UInt32 - - - The value typed as Boolean - - - The value typed as Single - - - Indicates whether the specified discriminator is assigned - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Reset a value if the specified discriminator is assigned - - - The discriminator value - - - Represent multiple types as a union; this is used as part of OneOf - - note that it is the caller's responsbility to only read/write the value as the same type - - - The value typed as Int32 - - - The value typed as UInt32 - - - The value typed as Boolean - - - The value typed as Single - - - The value typed as Object - - - Indicates whether the specified discriminator is assigned - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Create a new discriminated union value - - - Reset a value if the specified discriminator is assigned - - - The discriminator value - - - - Simple base class for supporting unexpected fields allowing - for loss-less round-tips/merge, even if the data is not understod. - The additional fields are (by default) stored in-memory in a buffer. - - As an example of an alternative implementation, you might - choose to use the file system (temporary files) as the back-end, tracking - only the paths [such an object would ideally be IDisposable and use - a finalizer to ensure that the files are removed]. - - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Provides a simple, default implementation for extension support, - optionally creating it if it does not already exist. Designed to be called by - classes implementing . - - Should a new extension object be - created if it does not already exist? - The that holds the fields, in terms of the inheritance model; the same tag key can appear against different type levels for the same instance, with different values. - The extension field to check (and possibly update). - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Provides a simple, default implementation for extension support, - optionally creating it if it does not already exist. Designed to be called by - classes implementing . - - Should a new extension object be - created if it does not already exist? - The extension field to check (and possibly update). - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The type of the value to append. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The data-format to use when encoding the value. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The data-format to use when encoding the value. - The model to use for serialization. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The type model to use for deserialization. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - Allow tags that are present as part of the definition; for example, to query unknown enum values. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The type model to use for deserialization. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - Allow tags that are present as part of the definition; for example, to query unknown enum values. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - An enumerator that yields each occurrence of the field. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - An enumerator that yields each occurrence of the field. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The type model to use for deserialization. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - An enumerator that yields each occurrence of the field. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The model to use for configuration. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - Allow tags that are present as part of the definition; for example, to query unknown enum values. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The model to use for configuration. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - An enumerator that yields each occurrence of the field. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The model to use for configuration. - The data-format to use when encoding the value. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - This class acts as an internal wrapper allowing us to do a dynamic - methodinfo invoke; an't put into Serializer as don't want on public - API; can't put into Serializer<T> since we need to invoke - across classes - - - - - All this does is call GetExtendedValuesTyped with the correct type for "instance"; - this ensures that we don't get issues with subclasses declaring conflicting types - - the caller must respect the fields defined for the type they pass in. - - - - - All this does is call GetExtendedValuesTyped with the correct type for "instance"; - this ensures that we don't get issues with subclasses declaring conflicting types - - the caller must respect the fields defined for the type they pass in. - - - - - Not all frameworks are created equal (fx1.1 vs fx2.0, - micro-framework, compact-framework, - silverlight, etc). This class simply wraps up a few things that would - otherwise make the real code unnecessarily messy, providing fallback - implementations if necessary. - - - - - Intended to be a direct map to regular TypeCode, but: - - with missing types - - existing on WinRT - - - - - Indicates that the implementing type has support for protocol-buffer - extensions. - - Can be implemented by deriving from Extensible. - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Indicates that the implementing type has support for protocol-buffer - extensions at multiple inheritance levels. - - Can be implemented by deriving from Extensible. - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The that holds the fields, in terms of the inheritance model; the same tag key can appear against different type levels for the same instance, with different values. - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Provides addition capability for supporting unexpected fields during - protocol-buffer serialization/deserialization. This allows for loss-less - round-trip/merge, even when the data is not fully understood. - - - - - Requests a stream into which any unexpected fields can be persisted. - - A new stream suitable for storing data. - - - - Indicates that all unexpected fields have now been stored. The - implementing class is responsible for closing the stream. If - "commit" is not true the data may be discarded. - - The stream originally obtained by BeginAppend. - True if the append operation completed successfully. - - - - Requests a stream of the unexpected fields previously stored. - - A prepared stream of the unexpected fields. - - - - Indicates that all unexpected fields have now been read. The - implementing class is responsible for closing the stream. - - The stream originally obtained by BeginQuery. - - - - Requests the length of the raw binary stream; this is used - when serializing sub-entities to indicate the expected size. - - The length of the binary stream representing unexpected data. - - - - Provides the ability to remove all existing extension data - - - - - Remove all existing extension data - - - - - Specifies the method used to infer field tags for members of the type - under consideration. Tags are deduced using the invariant alphabetic - sequence of the members' names; this makes implicit field tags very brittle, - and susceptible to changes such as field names (normally an isolated - change). - - - - - No members are serialized implicitly; all members require a suitable - attribute such as [ProtoMember]. This is the recmomended mode for - most scenarios. - - - - - Public properties and fields are eligible for implicit serialization; - this treats the public API as a contract. Ordering beings from ImplicitFirstTag. - - - - - Public and non-public fields are eligible for implicit serialization; - this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. - - - - - Provides access to the inner fields of a decimal. - Similar to decimal.GetBits(), but faster and avoids the int[] allocation - - - - - Provides access to the inner fields of a Guid. - Similar to Guid.ToByteArray(), but faster and avoids the byte[] allocation - - - - - Indicates whether a value is non-null and needs serialization (non-zero, not an empty string, etc) - - - - - Indicates whether a value is null - - - - - Represents the ability to deserialize values from an input of type - - - - - Deserialize a value from the input - - - - - Represents the ability to serialize values to an output of type - - - - - Serialize the provided value - - - - - Represents the ability to serialize values to an output of type - with pre-computation of the length - - - - - Measure the length of a value in advance of serialization - - - - - Serialize the previously measured value - - - - - Represents common state during a serialization operation; this instance should not be stored - it may be reused later with different meaning - - - - - The type-model that represents the operation - - - - - Addition information about this serialization operation. - - - - - Represents the outcome of computing the length of an object; since this may have required computing lengths - for multiple objects, some metadata is retained so that a subsequent serialize operation using - this instance can re-use the previously calculated lengths. If the object state changes between the - measure and serialize operations, the behavior is undefined. - - - - - Releases all resources associated with this value - - - - - Gets the calculated length of this serialize operation, in bytes - - - - - Returns the calculated length, disposing the value as a side-effect - - - - - Perform the calculated serialization operation against the provided target stream. If the object state changes between the - measure and serialize operations, the behavior is undefined. - - - - - Perform the calculated serialization operation against the provided target writer. If the object state changes between the - measure and serialize operations, the behavior is undefined. - - - - - Indiate the variant of the protobuf .proto DSL syntax to use - - - - - Use the global default - - - - - https://developers.google.com/protocol-buffers/docs/proto - - - - - https://developers.google.com/protocol-buffers/docs/proto3 - - - - - Options for controlling schema generation - - - - - Indiate the variant of the protobuf .proto DSL syntax to use - - - - - Additional flags to control schema generation - - - - - The package to use for generation (null to try to infer) - - - - - The services to consider as part of this operation. - - - - - The types to consider as part of this operation. - - - - - The file that defines this type (as used with import in .proto); when non-empty, only - types in the same Origin are included; this option is inferred if null. - - - - - Additional flags to control schema generation - - - - - No additional flags - - - - - Provide support for extended/multiple namespace details in schemas - - - - - Record the sub-type relationship formally in schemas - - - - - Describes a service. - - - - - The name of the service. - - - - - The methods available on the service. - - - - - Describes a method of a service. - - - - - The name of the method. - - - - - The type sent by the client. - - - - - The type returned from the server. - - - - - Identifies if server streams multiple server messages. - - - - - Identifies if client streams multiple client messages. - - - - - Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could - be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). - - - - - The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. - - - - - The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. - - - - - Delegate type used to perform type-formatting functions; the sender originates as the type-model. - - - - - Provides protobuf serialization support for a number of types - - - - - Gets or sets the buffer-size to use when writing messages via - - - - - Gets or sets the max serialization/deserialization depth - - - - - Gets a cached serializer for a type, as offered by a given provider - - - - - Specifies optional behaviors associated with a type model - - - - - No additional options - - - - - Should the deserializer attempt to avoid duplicate copies of the same string? - - - - - Should the Kind be included on date/time values? - - - - - Should zero-length packed arrays be serialized? (this is the v2 behavior, but skipping them is more efficient) - - - - - Should root-values allow "packed" encoding? (v2 does not support this) - - - - - Specifies optional behaviors associated with this model - - - - - Resolve a System.Type to the compiler-specific type - - - - - Resolve a System.Type to the compiler-specific type - - - - - Indicates whether a type is known to the model - - - - - This is the more "complete" version of Serialize, which handles single instances of mapped types. - The value is written as a complete field, including field-header and (for sub-objects) a - length-prefix - In addition to that, this provides support for: - - basic values; individual int / string / Guid / etc - - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType - - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied writer. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied writer. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - Additional information about this serialization operation. - - - - Calculates the length of a protocol-buffer payload for an item - - - - - Writes a protocol-buffer representation of the given instance to the supplied writer. - - The existing instance to be serialized (cannot be null). - The destination writer to write to. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). - The type of object to deserialize (can be null if "resolver" is specified). - The sequence of deserialized objects. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). - The type of object to deserialize (can be null if "resolver" is specified). - The sequence of deserialized objects. - Additional information about this serialization operation. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - Additional information about this serialization operation. - The binary stream to apply to the instance (cannot be null). - The existing instance to be modified (can be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - Additional information about this serialization operation. - The binary stream to apply to the instance (cannot be null). - The existing instance to be modified (can be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - Additional information about this serialization operation. - The binary stream to apply to the instance (cannot be null). - The existing instance to be modified (can be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - Additional information about this serialization operation. - The binary stream to apply to the instance (cannot be null). - The existing instance to be modified (can be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - Additional information about this serialization operation. - The binary stream to apply to the instance (cannot be null). - The existing instance to be modified (can be null). - The number of bytes to consider (no limit if omitted). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - Additional information about this serialization operation. - The binary stream to apply to the instance (cannot be null). - The existing instance to be modified (can be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - Additional information about this serialization operation. - The binary stream to apply to the instance (cannot be null). - The existing instance to be modified (can be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - Additional information about this serialization operation. - The binary stream to apply to the instance (cannot be null). - The existing instance to be modified (can be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume (or -1 to read to the end of the stream). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume (or -1 to read to the end of the stream). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary payload to apply to the instance. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary payload to apply to the instance. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - Applies a protocol-buffer reader to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The reader to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - - This is the more "complete" version of Deserialize, which handles single instances of mapped types. - The value is read as a complete field, including field-header and (for sub-objects) a - length-prefix..kmc - - - In addition to that, this provides support for: - - basic values; individual int / string / Guid / etc - - IList sets of any type handled by TryDeserializeAuxiliaryType - - - - - - Creates a new runtime model, to which the caller - can add support for a range of types. A model - can be used "as is", or can be compiled for - optimal performance. - - - - - Create a model that serializes all types from an - assembly specified by type - - - - - Create a model that serializes all types from an - assembly specified by type - - - - - Create a model that serializes all types from an assembly - - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Get a typed serializer for - - - - - Gets the inbuilt serializer relevant to a specific (and ). - Returns null if there is no defined inbuilt serializer. - - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - Represents the type (including inheritance) to consider. - The existing instance to be modified (can be null). - Reader state - The style of serialization to adopt - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Indicates the type of callback to be used - - - - - Invoked before an object is serialized - - - - - Invoked after an object is serialized - - - - - Invoked before an object is deserialized (or when a new instance is created) - - - - - Invoked after an object is deserialized - - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Indicates that while an inheritance tree exists, the exact type encountered was not - specified in that hierarchy and cannot be processed. - - - - - Indicates that while an inheritance tree exists, the exact type encountered was not - specified in that hierarchy and cannot be processed. - - - - - Indicates that while an inheritance tree exists, the exact type encountered was not - specified in that hierarchy and cannot be processed. - - - - - Returns whether the object provided is a subtype of the expected type - - - - - Indicates that the given type was not expected, and cannot be processed. - - - - - Indicates that the given type cannot be constructed; it may still be possible to - deserialize into existing instances. - - - - - Returns true if the type supplied is either a recognised contract type, - or a *list* of a recognised contract type. - - Note that primitives always return false, even though the engine - will, if forced, try to serialize such - True if this type is recognised as a serializable entity, else false - - - - Returns true if the type supplied is a basic type with inbuilt handling, - a recognised contract type, or a *list* of a basic / contract type. - - - - - Returns true if the type supplied is a basic type with inbuilt handling, - or a *list* of a basic type with inbuilt handling - - - - - Suggest a .proto definition for the given type - - The type to generate a .proto definition for, or null to generate a .proto that represents the entire model - The .proto definition as a string - - - - Suggest a .proto definition for the given type - - The type to generate a .proto definition for, or null to generate a .proto that represents the entire model - The .proto definition as a string - The .proto syntax to use for the operation - - - - Suggest a .proto definition for the given configuration - - The .proto definition as a string - Options for schema generation - - - - Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting - are provided on a single API as it is essential that both are mapped identically at all times. - - - - - Creates a new IFormatter that uses protocol-buffer [de]serialization. - - A new IFormatter to be used during [de]serialization. - The type of object to be [de]deserialized by the formatter. - - - - The field number that is used as a default when serializing/deserializing a list of objects. - The data is treated as repeated message with field number 1. - - - - - Specifies the type of prefix that should be applied to messages. - - - - - No length prefix is applied to the data; the data is terminated only be the end of the stream. - - - - - A base-128 ("varint", the default prefix format in protobuf) length prefix is applied to the data (efficient for short messages). - - - - - A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). - - - - - A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). - - - - - Indicates that a type is defined for protocol-buffer serialization. - - - - - Gets or sets the defined name of the type. This can be fully qualified , for example .foo.bar.someType if required. - - - - - Gets or sets the file that defines this type (as used with import in .proto) - - - - - Gets or sets the fist offset to use with implicit field tags; - only uesd if ImplicitFields is set. - - - - - If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. - - - - - If specified, do NOT treat this type as a list, even if it looks like one. - - - - - Gets or sets the mechanism used to automatically infer field tags - for members. This option should be used in advanced scenarios only. - Please review the important notes against the ImplicitFields enumeration. - - - - - Enables/disables automatic tag generation based on the existing name / order - of the defined members. This option is not used for members marked - with ProtoMemberAttribute, as intended to provide compatibility with - WCF serialization. WARNING: when adding new fields you must take - care to increase the Order for new elements, otherwise data corruption - may occur. - - If not explicitly specified, the default is assumed from Serializer.GlobalOptions.InferTagFromName. - - - - Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. - - - - - Specifies an offset to apply to [DataMember(Order=...)] markers; - this is useful when working with mex-generated classes that have - a different origin (usually 1 vs 0) than the original data-contract. - - This value is added to the Order of each member. - - - - - If true, the constructor for the type is bypassed during deserialization, meaning any field initializers - or other initialization code is skipped. - - - - - Should this type be treated as a reference by default? Please also see the implications of this, - as recorded on ProtoMemberAttribute.AsReference - - - - - Indicates whether this type should always be treated as a "group" (rather than a string-prefixed sub-message) - - - - - Gets or sets a value indicating whether unknown sub-types should cause serialization failure - - - - - Applies only to enums (not to DTO classes themselves); gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather - than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. - - - - - Defines a surrogate type used for serialization/deserialization purpose. - - - - - Defines a serializer to use for this type; the serializer must implement ISerializer-T for this type - - - - - Indicates that a static member should be considered the same as though - were an implicit / explicit conversion operator; in particular, this - is useful for conversions that operator syntax does not allow, such as - to/from interface types. - - - - - Used to define protocol-buffer specific behavior for - enumerated values. - - - - - Gets or sets the specific value to use for this enum during serialization. - - - - - Indicates whether this instance has a customised value mapping - - true if a specific value is set - - - - Gets or sets the defined name of the enum, as used in .proto - (this name is not used during serialization). - - - - - Indicates an error during serialization/deserialization of a proto stream. - - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - - Indicates that a member should be excluded from serialization; this - is only normally used when using implict fields. - - - - - Indicates that a member should be excluded from serialization; this - is only normally used when using implict fields. This allows - ProtoIgnoreAttribute usage - even for partial classes where the individual members are not - under direct control. - - - - - Creates a new ProtoPartialIgnoreAttribute instance. - - Specifies the member to be ignored. - - - - The name of the member to be ignored. - - - - - Indicates the known-types to support for an individual - message. This serializes each level in the hierarchy as - a nested message to retain wire-compatibility with - other protocol-buffer implementations. - - - - - Creates a new instance of the ProtoIncludeAttribute. - - The unique index (within the type) that will identify this data. - The additional type to serialize/deserialize. - - - - Creates a new instance of the ProtoIncludeAttribute. - - The unique index (within the type) that will identify this data. - The additional type to serialize/deserialize. - - - - Gets the unique index (within the type) that will identify this data. - - - - - Gets the additional type to serialize/deserialize. - - - - - Gets the additional type to serialize/deserialize. - - - - - Specifies whether the inherited type's sub-message should be - written with a length-prefix (default), or with group markers. - - - - - Controls the formatting of elements in a dictionary, and indicates that - "map" rules should be used: duplicates *replace* earlier values, rather - than throwing an exception - - - - - Describes the data-format used to store the key - - - - - Describes the data-format used to store the value - - - - - Disables "map" handling; dictionaries will use ".Add(key,value)" instead of "[key] = value", - which means duplicate keys will cause an exception (instead of retaining the final value); if - a proto schema is emitted, it will be produced using "repeated" instead of "map" - - - - - Declares a member to be used in protocol-buffer serialization, using - the given Tag. A DataFormat may be used to optimise the serialization - format (for instance, using zigzag encoding for negative numbers, or - fixed-length encoding for large values. - - - - - Compare with another ProtoMemberAttribute for sorting purposes - - - - - Compare with another ProtoMemberAttribute for sorting purposes - - - - - Creates a new ProtoMemberAttribute instance. - - Specifies the unique tag used to identify this member within the type. - - - - Gets or sets the original name defined in the .proto; not used - during serialization. - - - - - Gets or sets the data-format to be used when encoding this value. - - - - - Gets the unique tag used to identify this member within the type. - - - - - Gets or sets a value indicating whether this member is mandatory. - - - - - Gets a value indicating whether this member is packed. - This option only applies to list/array data of primitive types (int, double, etc). - - - - - Indicates whether this field should *replace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - Gets or sets a value indicating whether this member is packed (lists/arrays). - - - - - Additional (optional) settings that control serialization of members - - - - - Default; no additional options - - - - - Indicates that repeated elements should use packed (length-prefixed) encoding - - - - - Indicates that the given item is required - - - - - Enables full object-tracking/full-graph support - - - - - Embeds the type information into the stream, allowing usage with types not known in advance - - - - - Indicates whether this field should *replace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Determines whether the types AsReferenceDefault value is used, or whether this member's AsReference should be used - - - - - Declares a member to be used in protocol-buffer serialization, using - the given Tag and MemberName. This allows ProtoMemberAttribute usage - even for partial classes where the individual members are not - under direct control. - A DataFormat may be used to optimise the serialization - format (for instance, using zigzag encoding for negative numbers, or - fixed-length encoding for large values. - - - - - Creates a new ProtoMemberAttribute instance. - - Specifies the unique tag used to identify this member within the type. - Specifies the member to be serialized. - - - - The name of the member to be serialized. - - - - - A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call - ReadFieldHeader and (after matching the field) an appropriate Read* method. - - - - - Gets the number of the field being processed. - - - - - Indicates the underlying proto serialization format on the wire. - - - - - Gets / sets a flag indicating whether strings should be checked for repetition; if - true, any repeated UTF-8 byte sequence will result in the same String instance, rather - than a second instance of the same string. Disabled by default. Note that this uses - a custom interner - the system-wide string interner is not used. - - - - - Initialize the reader - - - - - Addition information about this deserialization operation. - - - - - Addition information about this deserialization operation. - - - - - Releases resources used by the reader, but importantly does not Dispose the - underlying stream; in many typical use-cases the stream is used for different - processes, so it is assumed that the consumer will Dispose their stream separately. - - - - - Returns the position of the current reader (note that this is not necessarily the same as the position - in the underlying stream, if multiple readers are used on the same stream) - - - - - Returns the position of the current reader (note that this is not necessarily the same as the position - in the underlying stream, if multiple readers are used on the same stream) - - - - - Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a string from the stream (using UTF8); supported wire-types: String - - - - - Throws an exception indication that the given value cannot be mapped to an enum. - - - - - Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) - parsing the message in accordance with the model associated with the reader - - - - - Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup - marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader - should return zero) - - - - - Begins consuming a nested message in the stream; supported wire-types: StartGroup, String - - The token returned must be help and used when callining EndSubItem - - - - Reads a field header from the stream, setting the wire-type and retuning the field number. If no - more fields are available, then 0 is returned. This methods respects sub-messages. - - - - - Looks ahead to see whether the next field in the stream is what we expect - (typically; what we've just finished reading - for example ot read successive list items) - - - - - Get the TypeModel associated with this reader - - - - - Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, - a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. - - - - - Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, - SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. - - - - - Discards the data for the current field. - - - - - Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - - Reads a little-endian encoded integer. An exception is thrown if the data is not all available. - - - - - Reads a big-endian encoded integer. An exception is thrown if the data is not all available. - - - - - Reads a varint encoded integer. An exception is thrown if the data is not all available. - - - - - Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available. - - - - - Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available. - - - - - Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available. - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - Read a varint if possible - The number of bytes consumed; 0 if no data available - - - - Copies the current field into the instance as extension data - - - - - Indicates whether the reader still has data remaining in the current sub-item, - additionally setting the wire-type for the next field if there is more data. - This is used when decoding packed data. - - - - - Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String - - - - - Merge two objects using the details from the current reader; this is used to change the type - of objects when an inheritance relationship is discovered later than usual during deserilazation. - - - - - Holds state used by the deserializer - - - - - Creates a new reader against a multi-segment buffer - - The source buffer - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - - - - Creates a new reader against a multi-segment buffer - - The source buffer - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - - - - Release any resources associated with this instance - - - - - Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant - - - - - Returns the position of the current reader (note that this is not necessarily the same as the position - in the underlying stream, if multiple readers are used on the same stream) - - - - - Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String - - - - - Reads a byte-sequence from the stream, appending them to an existing byte-sequence; supported wire-types: String - - - - - Reads a byte-sequence from the stream, appending them to an existing byte-sequence; supported wire-types: String - - - - - Reads a byte-sequence from the stream, appending them to an existing byte-sequence; supported wire-types: String - - - - - Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String - - - - - Tries to read a string-like type directly into a span; if successful, the span - returned indicates the available amount of data; if unsuccessful, an exception - is thrown; this should only be used when there is confidence that the length - is bounded. - - - - - Begins consuming a nested message in the stream; supported wire-types: StartGroup, String - - The token returned must be help and used when callining EndSubItem - - - - Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup - marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader - should return zero) - - - - - Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) - parsing the message in accordance with the model associated with the reader - - - - - Reads a string from the stream (using UTF8); supported wire-types: String - - - - - Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, - SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. - - - - - Discards the data for the current field. - - - - - Reads a field header from the stream, setting the wire-type and retuning the field number. If no - more fields are available, then 0 is returned. This methods respects sub-messages. - - - - - Looks ahead to see whether the next field in the stream is what we expect - (typically; what we've just finished reading - for example ot read successive list items) - - - - - Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, - a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. - - - - - Throws an exception indication that the given value cannot be mapped to an enum. - - - - - Copies the current field into the instance as extension data - - - - - Copies the current field into the instance as extension data - - - - - Indicates the underlying proto serialization format on the wire. - - - - - Gets / sets a flag indicating whether strings should be checked for repetition; if - true, any repeated UTF-8 byte sequence will result in the same String instance, rather - than a second instance of the same string. Disabled by default. Note that this uses - a custom interner - the system-wide string interner is not used. - - - - - Gets the number of the field being processed. - - - - - Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String - - - - - Reads a sub-item from the input reader - - - - - Reads a sub-item from the input reader - - - - - Reads a sub-item from the input reader - - - - - Reads a value or sub-item from the input reader - - - - - Reads a value or sub-item from the input reader - - - - - Gets the serializer associated with a specific type - - - - - Reads a sub-item from the input reader - - - - - Deserialize an instance of the provided type - - - - - Gets the serialization context associated with this instance; - - - - - Indicates whether the reader still has data remaining in the current sub-item, - additionally setting the wire-type for the next field if there is more data. - This is used when decoding packed data. - - - - - Create an instance of the provided type, respecting any custom factory rules - - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - The number of bytes to read, or -1 to read until the end of the stream - - - - Get the default state associated with this reader - - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - The number of bytes to read, or -1 to read until the end of the stream - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - The number of bytes to read, or -1 to read until the end of the stream - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - The number of bytes to read, or -1 to read until the end of the stream - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - - - - Indicates a reserved field or range - - - - - The start of a numeric field range - - - - - The end of a numeric field range - - - - - A named field reservation - - - - - Creates a new instance of a single number field reservation - - - - - Creates a new instance of a range number field reservation - - - - - Records a comment explaining this reservation - - - - - Creates a new instance of a named field reservation - - - - - Represents an output stream for writing protobuf data. - - Why is the API backwards (static methods with writer arguments)? - See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html - - - - - - Writer state - - - - - Create a new ProtoWriter that tagets a buffer writer - - - - - Writes any uncommitted data to the output - - - - - Writes a string to the stream - - - - - Writes a string to the stream; supported wire-types: String - - - - - Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String - - - - - Writes a field-header, indicating the format of the next data we plan to write. - - - - - Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a sub-item to the writer - - - - - Writes a sub-item to the writer - - - - - Writes a sub-item to the writer - - - - - Writes a value or sub-item to the writer - - - - - Writes a value or sub-item to the writer - - - - - Writes a sub-type to the input writer - - - - - Writes a sub-type to the input writer - - - - - Writes a base-type to the input writer - - - - - Gets the serializer associated with a specific type - - - - - The serialization context associated with this instance - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Writes a binary chunk to the stream; supported wire-types: String - - - - - Writes a binary chunk to the stream; supported wire-types: String - - - - - Writes a binary chunk to the stream; supported wire-types: String - - - - - Writes an object to the input writer as a root value; if the - object is determined to be a scalar, it is written as though it were - part of a message with field-number 1 - - - - - Abandon any pending unflushed data - - - - - Used for packed encoding; writes the length prefix using fixed sizes rather than using - buffering. Only valid for fixed-32 and fixed-64 encoding. - - - - - Indicates the start of a nested record. - - The instance to write. - A token representing the state of the stream; this token is given to EndSubItem. - - - - Releases any resources associated with this instance - - - - - Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed - by this operation. - - - - - Indicates the end of a nested record. - - The token obtained from StartubItem. - - - - Copies any extension data stored for the instance to the underlying stream - - - - - Copies any extension data stored for the instance to the underlying stream - - - - - Used for packed encoding; indicates that the next field should be skipped rather than - a field header written. Note that the field number must match, else an exception is thrown - when the attempt is made to write the (incorrect) field. The wire-type is taken from the - subsequent call to WriteFieldHeader. Only primitive types can be packed. - - - - - Used for packed encoding; explicitly reset the packed field marker; this is not required - if using StartSubItem/EndSubItem - - - - - Throws an exception indicating that the given enum cannot be mapped to a serialized value. - - - - - Creates a new writer against a stream - - The destination stream - The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects - Additional context about this serialization operation - - - - Writes a field-header, indicating the format of the next data we plan to write. - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Indicates the start of a nested record. - - The instance to write. - The destination. - A token representing the state of the stream; this token is given to EndSubItem. - - - - Indicates the end of a nested record. - - The token obtained from StartubItem. - The destination. - - - - Creates a new writer against a stream - - The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects - Additional context about this serialization operation - Whether this initialization should impact usage counters (to check for double-usage) - - - - Addition information about this serialization operation. - - - - - Addition information about this serialization operation. - - - - - Writes a sub-item to the input writer - - - - - Writes a sub-item to the input writer - - - - - Abandon any pending unflushed data - - - - - Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed - by this operation. - - - - - Get the TypeModel associated with this writer - - - - - The encoding used by the writer - - - - - Writes a string to the stream; supported wire-types: String - - - - - Writes any buffered data (if possible) to the underlying stream. - - Wwriter state - It is not always possible to fully flush, since some sequences - may require values to be back-filled into the byte-stream. - - - - Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Throws an exception indicating that the given enum cannot be mapped to a serialized value. - - - - - Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Copies any extension data stored for the instance to the underlying stream - - - - - Used for packed encoding; indicates that the next field should be skipped rather than - a field header written. Note that the field number must match, else an exception is thrown - when the attempt is made to write the (incorrect) field. The wire-type is taken from the - subsequent call to WriteFieldHeader. Only primitive types can be packed. - - - - - Used for packed encoding; explicitly reset the packed field marker; this is not required - if using StartSubItem/EndSubItem - - - - - Used for packed encoding; writes the length prefix using fixed sizes rather than using - buffering. Only valid for fixed-32 and fixed-64 encoding. - - - - - Buffer size to use when writing; if non-positive, an internal default is used. - - Not all writer implementations make use of this API - - - - Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String - - - - - Gets the default state associated with this writer - - - - - Creates a new writer against a stream - - The destination stream - The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects - Additional context about this serialization operation - - - - Additional information about a serialization operation - - - - - Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. - - - - - A default SerializationContext, with minimal information. - - - - - Gets or sets the source or destination of the transmitted data. - - - - - Convert a SerializationContext to a StreamingContext - - - - - Convert a StreamingContext to a SerializationContext - - - - - Create a StreamingContext from a serialization context - - - - - Creates a frozen SerializationContext from a serialization context - - - - - Provides utility methods for creating enum serializers - - - - - Create an enum serializer for the provided type, which much be a matching enum - - - - - Create an enum serializer for the provided type, which much be a matching enum - - - - - Create an enum serializer for the provided type, which much be a matching enum - - - - - Create an enum serializer for the provided type, which much be a matching enum - - - - - Create an enum serializer for the provided type, which much be a matching enum - - - - - Create an enum serializer for the provided type, which much be a matching enum - - - - - Create an enum serializer for the provided type, which much be a matching enum - - - - - Create an enum serializer for the provided type, which much be a matching enum - - - - - Base type for enum serializers - - - - - Deserialize an enum - - - - - Serialize an enum - - - - - Provides an abstract way of referring to simple range-based - data types as Memory. - - - - - Provides a non-null value from the provided storage. - For many value-types, this will simply return the input value. For - reference-types, the input should be null-coalesced against an - empty value such as Array.Empty(). - - - - - Get the length (in terms of element count) of the provided storage. - - - - - Access a Memory that is the underlying - data held by this storage. - - - - - Resizes (typically: allocates and copies) the provided storage by - the requested additional capacity, returning a memory to *just - the additional portion*). The implementor is responsible for - ensuring that the old values are copied if necessary. - The implementor may choose to recycle the old storage, if - appropriate. - - - - - Provides a memory converter implementation for many common storage kinds. - - - - - Provides the singleton instance for element type . - - - - - Indicates capabilities and behaviors of a serializer - - - - - Base-128 variable-length encoding - - - - - Fixed-length 8-byte encoding - - - - - Length-variant-prefixed encoding - - - - - Indicates the start of a group - - - - - Fixed-length 4-byte encoding - 10 - - - - Denotes a varint that should be interpreted using - zig-zag semantics (so -ve numbers aren't a significant overhead) - - - - - Indicates that the wire-type has been explicitly specified - - - - - Indicates that this data should be treated like a list/array - - - - - Scalars are simple types such as integers, not messages; when written as - a root message, a field-one wrapper is added - - - - - Indicates a type that is a message - - - - - Indicates a type that is both "message" and "scalar"; *at the root only* it will be a message wrapped like a scalar; otherwise, it is - treated as a message; see: DateTime/TimeSpan - - - - - Explicitly disables packed encoding; normally, packed encoding is - used by default when appropriate - - - - - List-like values should clear any existing contents before adding new - - - - - Maps should use dictionary Add rather than overwrite; this means that duplicate keys will cause failure - - - - - Disable recursion checking - - - - - Abstract API capable of serializing/deserializing messages or values - - - - - Deserialize an instance from the supplied writer - - - - - Serialize an instance to the supplied writer - - - - - Indicates the features (including the default wire-type) for this type/serializer - - - - - Provides indirect access to a serializer for a given type - - - - - Gets the actual serializer for the type - - - - - Abstract API capable of measuring values without writing them - - - - - Measure the given value, reporting the required length for the payload (not including the field-header) - - - - - Abstract API capable of serializing/deserializing a sequence of messages or values - - - - - Serialize a sequence of values to the supplied writer - - - - - Deserializes a sequence of values from the supplied reader - - - - - A serializer capable of representing complex objects that may warrant length caching - - - - - The effective that this serializer represents; in the case of - an object hierarchy, this is the base-type. - - - - - Abstract API capable of serializing/deserializing objects as part of a type hierarchy - - - - - Serialize an instance to the supplied writer - - - - - Deserialize an instance from the supplied writer - - - - - Represents the state of an inheritance deserialization operation - - - - - Create a new value, using the provided concrete type if a new instance is required - - - - - Gets or sets the current instance represented - - - - - Ensures that the instance has a value - - - - - Indicates whether an instance currently exists - - - - - Parse the input as a sub-type of the instance - - - - - Specifies a serialization callback to be used when the item is constructed; if the item already exists, the callback is executed immediately - - - - - Abstract API capable of serializing/deserializing complex objects with inheritance - - - - - Create a new instance of the type - - - - - Provides utility methods for creating serializers for repeated data - - - - Create a map serializer that operates on concurrent dictionaries - - - Create a map serializer that operates on dictionaries - - - Create a map serializer that operates on dictionaries - - - Create a map serializer that operates on immutable dictionaries - - - Create a map serializer that operates on immutable dictionaries - - - Create a map serializer that operates on immutable dictionaries - - - - Base class for dictionary-like collection serializers - - - - - Deserializes a sequence of values from the supplied reader - - - - Ensure that the collection is not nil, if required - - - Remove any existing contents from the collection - - - Add new contents to the collection - - - Update the new contents intoto the collection, overwriting existing values - - - - Deserializes a sequence of values from the supplied reader - - - - - ExternalMapSerializer provides a base class for concrete types to inherit from, but only provide the methods for collection management - It does not require changes to internal protobuf-net state handling - - the collection type being provided (e.g. Map for F#) - key to the collection - type of the value held within the collection - - - - Provides utility methods for creating serializers for repeated data - - - - Create a serializer that operates on immutable sets - - - Create a serializer that operates on immutable sets - - - Create a serializer that operates on immutable sets - - - Create a serializer that operates on immutable sets - - - Create a serializer that indicates that a scenario is not supported - - - Create a serializer that indicates that a scenario is not supported - - - Create a serializer that operates on lists - - - Create a serializer that operates on lists - - - Create a serializer that operates on most common collections - - - Create a serializer that operates on most common collections - - - Create a serializer that operates on lists - - - Create a serializer that operates on lists - - - Create a serializer that operates on lists - - - Reverses a range of values - - - Create a serializer that operates on immutable arrays - - - Create a serializer that operates on immutable lists - - - Create a serializer that operates on immutable lists - - - Create a serializer that operates on immutable queues - - - Create a serializer that operates on immutable queues - - - Create a serializer that operates on immutable stacks - - - Create a serializer that operates on immutable stacks - - - Create a serializer that operates on immutable sets - - - Create a serializer that operates on immutable sets - - - Create a serializer that operates on immutable sets - - - - Base class for simple collection serializers - - - - - Serialize a sequence of values to the supplied writer - - - - If possible to do so *cheaply*, return the count of the items in the collection - TryGetCountDefault can be used as a reasonable fallback - - - Applies a range of common strategies for cheaply counting collections - This involves multiple tests and exception handling; if your collection is known to be reliable, you should prefer an exposed .Count or similar - - - - Deserializes a sequence of values from the supplied reader - - - - Ensure that the collection is not nil, if required - - - Remove any existing contents from the collection - - - Add new contents to the collection - - - - ExternalSerializer provides a base class for concrete types to inherit from, but only provide the methods for collection management - It does not require changes to internal protobuf-net state handling - - the collection type being provided (e.g. Map for F#) - type of the value held within the collection - - - - Provides access to cached serializers - - - - - Gets a cached serializer instance for a type, in the context of a given provider - - - - - Not yet implemented - - - - - Used to hold particulars relating to nested objects. This is opaque to the caller - simply - give back the token you are given at the end of an object. - - - - - See object.ToString() - - - - - See object.GetHashCode() - - - - - See object.Equals() - - - - - Provides etension methods to access extended (unknown) fields against an instance - - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The type model to use for deserialization. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - The that holds the fields, in terms of the inheritance model; the same tag key can appear against different type levels for the same instance, with different values. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The type model to use for deserialization. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - The that holds the fields, in terms of the inheritance model; the same tag key can appear against different type levels for the same instance, with different values. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The type model to use for deserialization. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - The that holds the fields, in terms of the inheritance model; the same tag key can appear against different type levels for the same instance, with different values. - An enumerator that yields each occurrence of the field. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The data-format to use when encoding the value. - The model to use for serialization. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - The that holds the fields, in terms of the inheritance model; the same tag key can appear against different type levels for the same instance, with different values. - - - - Maps a field-number to a type - - - - - A Duration represents a signed, fixed-length span of time represented - as a count of seconds and fractions of seconds at nanosecond - resolution. It is independent of any calendar and concepts like "day" - or "month". It is related to Timestamp in that the difference between - two Timestamp values is a Duration and it can be added or subtracted - from a Timestamp. - - - - - Signed seconds of the span of time. - - - - - Signed fractions of a second at nanosecond resolution of the span of time. - - - - Creates a new Duration with the supplied values - - - Converts a TimeSpan to a Duration - - - Converts a Duration to a TimeSpan - - - Converts a Duration to a TimeSpan - - - Converts a TimeSpan to a Duration - - - - Applies .proto rules to ensure that this value is in the expected ranges - - - - - A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs - - - - - A Timestamp represents a point in time independent of any time zone or local - calendar, encoded as a count of seconds and fractions of seconds at - nanosecond resolution. The count is relative to an epoch at UTC midnight on - January 1, 1970, in the proleptic Gregorian calendar which extends the - Gregorian calendar backwards to year one. - - - - - Represents seconds of UTC time since Unix epoch - - - - - Non-negative fractions of a second at nanosecond resolution. - - - - Creates a new Duration with the supplied values - - - Converts a DateTime to a Timestamp - - - - Applies .proto rules to ensure that this value is in the expected ranges - - - - Converts a Timestamp to a DateTime - - - Converts a Timestamp to a DateTime - - - Converts a DateTime to a Timestamp - - - - The default value for dates that are following google.protobuf.Timestamp semantics - - - - - Indicates the encoding used to represent an individual value in a protobuf stream - - - - - Represents an error condition - - - - - Base-128 variable-length encoding - - - - - Base-128 variable-length encoding - - - - - Fixed-length 8-byte encoding - - - - - Length-variant-prefixed encoding - - - - - Indicates the start of a group - - - - - Indicates the end of a group - - - - - Fixed-length 4-byte encoding - 10 - - - - This is not a formal wire-type in the "protocol buffers" spec, but - denotes a varint that should be interpreted using - zig-zag semantics (so -ve numbers aren't a significant overhead) - - - - - This is not a formal wire-type in the "protocol buffers" spec, but - denotes a varint that should be interpreted using - zig-zag semantics (so -ve numbers aren't a significant overhead) - - - - - Indicates that certain members on a specified are accessed dynamically, - for example through . - - - This allows tools to understand which members are being accessed during the execution - of a program. - - This attribute is valid on members whose type is or . - - When this attribute is applied to a location of type , the assumption is - that the string represents a fully qualified type name. - - If the attribute is applied to a method it's treated as a special case and it implies - the attribute should be applied to the "this" parameter of the method. As such the attribute - should only be used on instance methods of types assignable to System.Type (or string, but no methods - will use it there). - - - - - Initializes a new instance of the class - with the specified member types. - - The types of members dynamically accessed. - - - - Gets the which specifies the type - of members dynamically accessed. - - - - - Specifies the types of members that are dynamically accessed. - - This enumeration has a attribute that allows a - bitwise combination of its member values. - - - - - Specifies no members. - - - - - Specifies the default, parameterless public constructor. - - - - - Specifies all public constructors. - - - - - Specifies all non-public constructors. - - - - - Specifies all public methods. - - - - - Specifies all non-public methods. - - - - - Specifies all public fields. - - - - - Specifies all non-public fields. - - - - - Specifies all public nested types. - - - - - Specifies all non-public nested types. - - - - - Specifies all public properties. - - - - - Specifies all non-public properties. - - - - - Specifies all public events. - - - - - Specifies all non-public events. - - - - - Specifies all members. - - - - diff --git a/bin/Release_2.85/protobuf-net.dll b/bin/Release_2.85/protobuf-net.dll deleted file mode 100644 index d0e811a..0000000 Binary files a/bin/Release_2.85/protobuf-net.dll and /dev/null differ diff --git a/bin/Release_2.85/protobuf-net.xml b/bin/Release_2.85/protobuf-net.xml deleted file mode 100644 index 2fbb64a..0000000 --- a/bin/Release_2.85/protobuf-net.xml +++ /dev/null @@ -1,1437 +0,0 @@ - - - - protobuf-net - - - - - Pushes a null reference onto the stack. Note that this should only - be used to return a null (or set a variable to null); for null-tests - use BranchIfTrue / BranchIfFalse. - - - - - - Creates a new "using" block (equivalent) around a variable; - the variable must exist, and note that (unlike in C#) it is - the variables *final* value that gets disposed. If you need - *original* disposal, copy your variable first. - - - It is the callers responsibility to ensure that the variable's - scope fully-encapsulates the "using"; if not, the variable - may be re-used (and thus re-assigned) unexpectedly. - - - - - - The type that this serializer is intended to work for. - - - - - Perform the steps necessary to serialize this data. - - The value to be serialized. - Writer state - - - - Perform the steps necessary to deserialize this data. - - The current value, if appropriate. - Reader state - The updated / replacement value. - - - - Indicates whether a Read operation replaces the existing value, or - extends the value. If false, the "value" parameter to Read is - discarded, and should be passed in as null. - - - - - Not all Read operations return a value (although most do); if false no - value should be expected. - - - - Emit the IL necessary to perform the given actions - to serialize this data. - - Details and utilities for the method being generated. - The source of the data to work against; - If the value is only needed once, then LoadValue is sufficient. If - the value is needed multiple times, then note that a "null" - means "the top of the stack", in which case you should create your - own copy - GetLocalWithValue. - - - - Emit the IL necessary to perform the given actions to deserialize this data. - - Details and utilities for the method being generated. - For nested values, the instance holding the values; note - that this is not always provided - a null means not supplied. Since this is always - a variable or argument, it is not necessary to consume this value. - - - - A type model that performs per-assembly auto-compilation - - - - - Create a model that serializes all types from an - assembly specified by type - - - - - Create a model that serializes all types from an - assembly specified by type - - - - - Create a model that serializes all types from an assembly - - - - - Create a model that serializes all types from an assembly - - - - - Gets the instance of this serializer - - - - - - - - - - - Represents the set of serialization callbacks to be used when serializing/deserializing a type. - - - - Called before serializing an instance - - - Called before deserializing an instance - - - Called after serializing an instance - - - Called after deserializing an instance - - - - True if any callback is set, else False - - - - - Describes a named constant integer, i.e. an enum value - - - - - Gets the declared name of this enum member - - - - - Gets the value of this enum member - - - - - Create a new named enum value; the value can be of the expected - enum type, or an appropriate boxed enum value - - - - - Creates a copy of this definition with a different name - - - - - Creates a copy of this definition with a different value - - - - - Converts the declared value in accordance with the provided type - - - - Compare a member to an enum value - - - - - - - - - - - - Compare two enum-member definitions - - - - Indicates whether two values are considered equal. - - - - - Indicates whether two values are considered equal. - - - - - Create an EnumMember instance from an enum value - - - - - Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined - - - - - Get the name of the type being represented - - - - - Gets the base-type for this type - - - - - Gets or sets the for this instance - - - - - When used to compile a model, should public serialization/deserialzation methods - be included for this type? - - - - - Should this type be treated as a reference by default? - - - - - Adds a known sub-type to the inheritance model - - - - - Adds a known sub-type to the inheritance model - - - - - Indicates whether the current type has defined callbacks - - - - - Indicates whether the current type has defined subtypes - - - - - Returns the set of callbacks defined for this type - - - - - Assigns the callbacks to use during serialiation/deserialization. - - The method (or null) called before serialization begins. - The method (or null) called when serialization is complete. - The method (or null) called before deserialization begins (or when a new instance is created during deserialization). - The method (or null) called when deserialization is complete. - The set of callbacks. - - - - Assigns the callbacks to use during serialiation/deserialization. - - The name of the method (or null) called before serialization begins. - The name of the method (or null) called when serialization is complete. - The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). - The name of the method (or null) called when deserialization is complete. - The set of callbacks. - - - - Returns the public Type name of this Type used in serialization - - - - - Gets or sets the name of this contract. - - - - - Gets or sets the file that defines this type (as used with import in .proto) - - - - - Designate a factory-method to use to create instances of this type - - - - - Designate a factory-method to use to create instances of this type - - - - - Throws an exception if the type has been made immutable - - - - - The runtime type that the meta-type represents - - - - - Adds a member (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType, returning the ValueMember rather than the fluent API. - This is otherwise identical to Add. - - - - - Gets or sets whether the type should use a parameterless constructor (the default), - or whether the type should skip the constructor completely. This option is not supported - on compact-framework. - - - - - The concrete type to create when a new instance of this type is needed; this may be useful when dealing - with dynamic proxies, or with interface-based APIs - - - - - Adds a member (by name) to the MetaType - - - - - Performs serialization of this type via a surrogate; all - other serialization options are ignored and handled - by the surrogate's configuration. - - - - - Adds a set of members (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists - - - - - Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists, returning the ValueMember rather than the fluent API. - This is otherwise identical to Add. - - - - - Returns the ValueMember that matchs a given field number, or null if not found - - - - - Returns the ValueMember that matchs a given member (property/field), or null if not found - - - - - Returns the ValueMember instances associated with this type - - - - - Returns the EnumMember instances associated with this type - - - - - Add a new defined name/value pair for an enum - - - - - Returns the SubType instances associated with this type - - - - - Compiles the serializer for this type; this is *not* a full - standalone compile, but can significantly boost performance - while allowing additional types to be added. - - An in-place compile can access non-public types / members - - - - Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather - than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. - - - - - Gets or sets a value indicating that this type should NOT be treated as a list, even if it has - familiar list-like characteristics (enumerable, add, etc) - - - - - Gets or sets a value indicating whether unknown sub-types should cause serialization failure - - - - - Specify a custom serializer for this type - - - - - Indicates whether this type should always be treated as a "group" (rather than a string-prefixed sub-message) - - - - - Apply a shift to all fields (and sub-types) on this type - - The change in field number to apply - The resultant field numbers must still all be considered valid - - - - Adds a single number field reservation - - - - - Adds range number field reservation - - - - - Adds a named field reservation - - - - - Provides protobuf serialization support for a number of types that can be defined at runtime - - - - - Ensures that RuntimeTypeModel has been initialized, in advance of using methods on . - - - - - Specifies optional behaviors associated with this model - - - - - Global default that - enables/disables automatic tag generation based on the existing name / order - of the defined members. See - for usage and important warning / explanation. - You must set the global default before attempting to serialize/deserialize any - impacted type. - - - - - Global default that determines whether types are considered serializable - if they have [DataContract] / [XmlType]. With this enabled, ONLY - types marked as [ProtoContract] are added automatically. - - - - - - Global switch that enables or disables the implicit - handling of "zero defaults"; meanning: if no other default is specified, - it assumes bools always default to false, integers to zero, etc. - - - If this is disabled, no such assumptions are made and only *explicit* - default values are processed. This is enabled by default to - preserve similar logic to v1. - - - - - - Global switch that determines whether types with a .ToString() and a Parse(string) - should be serialized as strings. - - - - - Global switch that determines whether DateTime serialization should include the Kind of the date/time. - - - - - Should zero-length packed arrays be serialized? (this is the v2 behavior, but skipping them is more efficient) - - - - - Should root-values allow "packed" encoding? (v2 does not support this) - - - - - Global switch that determines whether a single instance of the same string should be used during deserialization. - - Note this does not use the global .NET string interner - - - - The default model, used to support ProtoBuf.Serializer - - - - - Returns a sequence of the Type instances that can be - processed by this model. - - - - - Gets or sets the default for this model. - - - - - - - - Obtains the MetaType associated with a given Type for the current model, - allowing additional configuration. - - - - - Like the non-generic Add(Type); for convenience - - - - - Adds support for an additional type in this model, optionally - applying inbuilt patterns. If the type is already known to the - model, the existing type is returned **without** applying - any additional behaviour. - - Inbuilt patterns include: - [ProtoContract]/[ProtoMember(n)] - [DataContract]/[DataMember(Order=n)] - [XmlType]/[XmlElement(Order=n)] - [On{Des|S}erializ{ing|ed}] - ShouldSerialize*/*Specified - - The type to be supported - Whether to apply the inbuilt configuration patterns (via attributes etc), or - just add the type with no additional configuration (the type must then be manually configured). - The MetaType representing this type, allowing - further configuration. - - - - Adds support for an additional type in this model, optionally - applying inbuilt patterns. If the type is already known to the - model, the existing type is returned **without** applying - any additional behaviour. - - Inbuilt patterns include: - [ProtoContract]/[ProtoMember(n)] - [DataContract]/[DataMember(Order=n)] - [XmlType]/[XmlElement(Order=n)] - [On{Des|S}erializ{ing|ed}] - ShouldSerialize*/*Specified - - The type to be supported - Whether to apply the inbuilt configuration patterns (via attributes etc), or - just add the type with no additional configuration (the type must then be manually configured). - The to assume for this type; this should usually be omitted - The MetaType representing this type, allowing - further configuration. - - - - Raised before a type is auto-configured; this allows the auto-configuration to be electively suppressed - - This callback should be fast and not involve complex external calls, as it may block the model - - - - Raised after a type is auto-configured; this allows additional external customizations - - This callback should be fast and not involve complex external calls, as it may block the model - - - - Should serializers be compiled on demand? It may be useful - to disable this for debugging purposes. - - - - - Should support for unexpected types be added automatically? - If false, an exception is thrown when unexpected types - are encountered. - - - - - Verifies that the model is still open to changes; if not, an exception is thrown - - - - - Prevents further changes to this model - - - - Resolve a service relative to T - - - Indicates whether a type is known to the model - - - - See Object.ToString - - - - - Compiles the serializers individually; this is *not* a full - standalone compile, but can significantly boost performance - while allowing additional types to be added. - - An in-place compile can access non-public types / members - - - - Represents configuration options for compiling a model to - a standalone assembly. - - - - - Import framework options from an existing type - - - - - The TargetFrameworkAttribute FrameworkName value to burn into the generated assembly - - - - - The TargetFrameworkAttribute FrameworkDisplayName value to burn into the generated assembly - - - - - The name of the TypeModel class to create - - - - - The path for the new dll - - - - - The runtime version for the generated assembly - - - - - The runtime version for the generated assembly - - - - - The Version baked into the generated assembly. - - - - - The acecssibility of the generated serializer - - - - - Implements a filter for use when generating models from assemblies - - - - - Type accessibility - - - - - Available to all callers - - - - - Available to all callers in the same assembly, or assemblies specified via [InternalsVisibleTo(...)] - - - - - Fully compiles the current model into a static-compiled serialization dll - (the serialization dll still requires protobuf-net for support services). - - A full compilation is restricted to accessing public types / members - The name of the TypeModel class to create - The path for the new dll - An instance of the newly created compiled type-model - - - - Fully compiles the current model into a static-compiled serialization dll - (the serialization dll still requires protobuf-net for support services). - - A full compilation is restricted to accessing public types / members - An instance of the newly created compiled type-model - - - - The amount of time to wait if there are concurrent metadata access operations - - - - - If a lock-contention is detected, this event signals the *owner* of the lock responsible for the blockage, indicating - what caused the problem; this is only raised if the lock-owning code successfully completes. - - - - - Designate a factory-method to use to create instances of any type; note that this only affect types seen by the serializer *after* setting the factory. - - - - - Creates a new runtime model, to which the caller - can add support for a range of types. A model - can be used "as is", or can be compiled for - optimal performance. - - The logical name of this model - - - - Create a model that serializes all types from an - assembly specified by type - - - - - Create a model that serializes all types from an - assembly specified by type - - - - - Create a model that serializes all types from an assembly - - - - - Promotes this model instance to be the default model; the default model is used by and . - - - - - Treat all values of (non-serializable) - as though they were the surrogate (serializable); - if custom conversion operators are provided, they are used in place of implicit - or explicit conversion operators. - - The non-serializable type to provide custom support for - The serializable type that should be used instead - Custom conversion operation - Custom conversion operation - The to use - The to assume for this type - The original model (for chaining). - - - - Add an externally defined serialiser - - type of the collectionn e.g. F# Map - type of the External Serializer - - - - - Contains the stack-trace of the owning code when a lock-contention scenario is detected - - - - - The stack-trace of the code that owned the lock when a lock-contention scenario occurred - - - - - Event-type that is raised when a lock-contention scenario is detected - - - - - Represents an inherited type in a type hierarchy. - - - - - The field-number that is used to encapsulate the data (as a nested - message) for the derived dype. - - - - - The sub-type to be considered. - - - - - Creates a new SubType instance. - - The field-number that is used to encapsulate the data (as a nested - message) for the derived dype. - The sub-type to be considered. - Specific encoding style to use; in particular, Grouped can be used to avoid buffering, but is not the default. - - - - Event data associated with new types being added to a model - - - - - Whether or not to apply the default mapping behavior - - - - - The configuration of the type being added - - - - - The type that was added to the model - - - - - The model that is being changed - - - - - Represents a member (property/field) that is mapped to a protobuf field - - - - - The number that identifies this member in a protobuf stream - - - - - Gets the member (field/property) which this member relates to. - - - - - Gets the backing member (field/property) which this member relates to - - - - - Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) - - - - - The underlying type of the member - - - - - For abstract types (IList etc), the type of concrete object to create (if required) - - - - - The type the defines the member - - - - - The default value of the item (members with this value will not be serialized) - - - - - Gets or sets the of this member; by default this is inherited from - the type; when is used with , - the member is considered . - - - - - Creates a new ValueMember instance - - - - - Creates a new ValueMember instance - - - - - Specifies the rules used to process the field; this is used to determine the most appropriate - wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) - - - - - Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" - is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that - when serializing the defined type is always used. - - - - - Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). - This option only applies to list/array data of primitive types (int, double, etc). - - - - - Indicates whether this field should *replace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Indicates whether this field is mandatory. - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - Indicates that the member should be treated as a protobuf Map - - - - - Specifies the data-format that should be used for the key, when IsMap is enabled - - - - - Specifies the data-format that should be used for the value, when IsMap is enabled - - - - - Specifies methods for working with optional data members. - - Provides a method (null for none) to query whether this member should - be serialized; it must be of the form "bool {Method}()". The member is only serialized if the - method returns true. - Provides a method (null for none) to indicate that a member was - deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" - when data is found. - - - - Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used - when inferring a schema). - - - - - Should lists have extended support for null values? Note this makes the serialization less efficient. - - - - - Provides protocol-buffer serialization capability for concrete, attributed types. This - is a *default* model, but custom serializer models are also supported. - - - Protocol-buffer serialization is a compact binary format, designed to take - advantage of sparse data and knowledge of specific data types; it is also - extensible, allowing a type to be deserialized / merged even if some data is - not recognised. - - - - - Suggest a .proto definition for the given type - - The type to generate a .proto definition for - The .proto definition as a string - - - - Suggest a .proto definition for the given type - - The type to generate a .proto definition for - The .proto definition as a string - - - - Suggest a .proto definition for the given type - - The .proto definition as a string - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Calculates the length of a protocol-buffer payload for an item - - - - - Applies a protocol-buffer stream to an existing instance. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Serializes a given instance and deserializes it as a different type; - this can be used to translate between wire-compatible objects (where - two .NET types represent the same data), or to promote/demote a type - through an inheritance hierarchy. - - No assumption of compatibility is made between the types. - The type of the object being copied. - The type of the new object to be created. - The existing instance to use as a template. - A new instane of type TNewType, with the data from TOldType. - - - - Applies a protocol-buffer from an XmlReader to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The XmlReader containing the data to apply to the instance (cannot be null). - - - - Applies a protocol-buffer from a SerializationInfo to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The SerializationInfo containing the data to apply to the instance (cannot be null). - - - - Applies a protocol-buffer from a SerializationInfo to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The SerializationInfo containing the data to apply to the instance (cannot be null). - Additional information about this serialization operation. - - - - Precompiles the serializer for a given type. - - - - - Creates a new IFormatter that uses protocol-buffer [de]serialization. - - The type of object to be [de]deserialized by the formatter. - A new IFormatter to be used during [de]serialization. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignored for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - - - - Creates a new instance from a protocol-buffer stream that has a length-prefix - on data (to assist with network IO). - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - How to encode the length prefix. - A new, initialized instance. - - - - Creates a new instance from a protocol-buffer stream that has a length-prefix - on data (to assist with network IO). - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - How to encode the length prefix. - The expected tag of the item (only used with base-128 prefix style). - A new, initialized instance. - - - - Applies a protocol-buffer stream to an existing instance, using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - Indicates the number of bytes expected for the next message. - The stream containing the data to investigate for a length. - The algorithm used to encode the length. - The length of the message, if it could be identified. - True if a length could be obtained, false otherwise. - - - Indicates the number of bytes expected for the next message. - The buffer containing the data to investigate for a length. - The offset of the first byte to read from the buffer. - The number of bytes to read from the buffer. - The algorithm used to encode the length. - The length of the message, if it could be identified. - True if a length could be obtained, false otherwise. - - - - The field number that is used as a default when serializing/deserializing a list of objects. - The data is treated as repeated message with field number 1. - - - - - Provides non-generic access to the default serializer. - - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - - Creates a new instance from a protocol-buffer stream - - - - - Creates a new instance from a protocol-buffer stream - - - - - Creates a new instance from a protocol-buffer stream - - - - - Creates a new instance from a protocol-buffer stream - - - - Applies a protocol-buffer stream to an existing instance. - The existing instance to be modified (cannot be null). - The binary stream to apply to the instance (cannot be null). - The updated instance - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - Used to resolve types on a per-field basis. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Precompiles the serializer for a given type. - - - - - Global switches that change the behavior of protobuf-net - - - - - - - - - - Gets or sets the default .proto syntax to be used - - - - - Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization - operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense - of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). - - - - - Maps a field-number to a type - - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - A new, initialized instance. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - A new, initialized instance. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - - Creates a new instance from a protocol-buffer stream - - - - - Creates a new instance from a protocol-buffer stream - - - - - Creates a new instance from a protocol-buffer stream - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - Additional state for this serialization operation - - - - Writes a protocol-buffer representation of the given instance to the supplied writer. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - Additional serialization context - - - - Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination SerializationInfo to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination SerializationInfo to write to. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied XmlWriter. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination XmlWriter to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - diff --git a/bin/Release_2.85/v2.85.exe b/bin/Release_2.85/v2.85.exe deleted file mode 100644 index 33841e4..0000000 Binary files a/bin/Release_2.85/v2.85.exe and /dev/null differ diff --git a/bin/Release_2.85/v2.85.exe.config b/bin/Release_2.85/v2.85.exe.config deleted file mode 100644 index 4201cfa..0000000 --- a/bin/Release_2.85/v2.85.exe.config +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bin/Release_2.85/v2.85.pdb b/bin/Release_2.85/v2.85.pdb deleted file mode 100644 index 5e0b897..0000000 Binary files a/bin/Release_2.85/v2.85.pdb and /dev/null differ diff --git a/core/content_db.py b/core/content_db.py index 360e464..82c5bcb 100644 --- a/core/content_db.py +++ b/core/content_db.py @@ -50,11 +50,11 @@ def get_list(self,way,order,limit): conn = sqlite3.connect("fay.db") cur = conn.cursor() if(way == 'all'): - cur.execute("select type,way,content,createtime,datetime(createtime, 'unixepoch', 'localtime') as timetext from T_Msg order by createtime "+order+" limit ?",(limit,)) + cur.execute("select type,way,content,createtime,datetime(createtime, 'unixepoch', 'localtime') as timetext from T_Msg order by id "+order+" limit ?",(limit,)) elif(way == 'notappended'): - cur.execute("select type,way,content,createtime,datetime(createtime, 'unixepoch', 'localtime') as timetext from T_Msg where way != 'appended' order by createtime "+order+" limit ?",(limit,)) + cur.execute("select type,way,content,createtime,datetime(createtime, 'unixepoch', 'localtime') as timetext from T_Msg where way != 'appended' order by id "+order+" limit ?",(limit,)) else: - cur.execute("select type,way,content,createtime,datetime(createtime, 'unixepoch', 'localtime') as timetext from T_Msg where way = ? order by createtime "+order+" limit ?",(way,limit,)) + cur.execute("select type,way,content,createtime,datetime(createtime, 'unixepoch', 'localtime') as timetext from T_Msg where way = ? order by id "+order+" limit ?",(way,limit,)) list = cur.fetchall() conn.close() diff --git a/core/fay_core.py b/core/fay_core.py index 4505b60..2bcffec 100644 --- a/core/fay_core.py +++ b/core/fay_core.py @@ -237,6 +237,9 @@ def __auto_speak(self): # self.__isExecute = True #!!!! if index == 1: + contentdb = Content_Db() + contentdb.add_content('member','speak',self.q_msg) + wsa_server.get_web_instance().add_cmd({"panelReply": {"type":"member","content":self.q_msg}}) answer = self.__get_answer(interact.interleaver, self.q_msg) if self.muting: continue @@ -276,8 +279,7 @@ def __auto_speak(self): self.a_msg = text else: self.a_msg = user_name + ',' + text - contentdb = Content_Db() - contentdb.add_content('member','speak',self.q_msg) + contentdb.add_content('fay','speak',self.a_msg) wsa_server.get_web_instance().add_cmd({"panelReply": {"type":"fay","content":self.a_msg}}) if len(textlist) > 1: diff --git a/core/recorder.py b/core/recorder.py index 93975b9..2cc6784 100644 --- a/core/recorder.py +++ b/core/recorder.py @@ -4,9 +4,11 @@ from abc import abstractmethod from ai_module.ali_nls import ALiNls +from ai_module.funasr import FunASR from core import wsa_server from scheduler.thread_manager import MyThread from utils import util +from utils import config_util as cfg # 启动时间 (秒) @@ -31,8 +33,18 @@ def __init__(self, fay): self.__MAX_LEVEL = 25000 self.__MAX_BLOCK = 100 + + #Edit by xszyou in 20230516:增加本地asr + self.ASRMode = cfg.ASR_mode + self.__aLiNls = self.asrclient() + - self.__aLiNls = ALiNls() + def asrclient(self): + if self.ASRMode == "ali": + asrcli = ALiNls() + elif self.ASRMode == "funasr": + asrcli = FunASR() + return asrcli @@ -62,7 +74,7 @@ def __print_level(self, level): text += "-" print(text + " [" + str(int(per * 100)) + "%]") - def __waitingResult(self, iat: ALiNls): + def __waitingResult(self, iat): if self.__fay.playing: return self.processing = True @@ -117,7 +129,7 @@ def __record(self): soon = True # isSpeaking = True #用户正在说话 util.log(3, "聆听中...") - self.__aLiNls = ALiNls() + self.__aLiNls = self.asrclient() try: self.__aLiNls.start() except Exception as e: @@ -158,4 +170,3 @@ def on_speaking(self, text): @abstractmethod def get_stream(self): pass - diff --git a/main.py b/main.py index c39c1c0..c5bfcaf 100644 --- a/main.py +++ b/main.py @@ -43,8 +43,9 @@ def __clear_songs(): ws_server.start_server() web_ws_server = wsa_server.new_web_instance(port=10003) web_ws_server.start_server() - - ali_nls.start() + #Edit by xszyou in 20230516:增加本地asr + if config_util.ASR_mode == "ali" and config_util.config['source']['record']: + ali_nls.start() flask_server.start() app = QApplication(sys.argv) app.setWindowIcon(QtGui.QIcon('icon.png')) diff --git a/requirements.txt b/requirements.txt index a73015a..335a53b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,4 +17,5 @@ scipy~=1.10.0 simhash pytz gevent~=22.10.1 -edge_tts~=6.1.3 \ No newline at end of file +edge_tts~=6.1.3 +eyed3 \ No newline at end of file diff --git a/system.conf b/system.conf index 0298c13..f5c067b 100644 --- a/system.conf +++ b/system.conf @@ -1,10 +1,18 @@ [key] -# 阿里云 实时语音识别 服务密钥(必须)https://ai.aliyun.com/nls/trans +#funasr / ali +ASR_mode = ali +#ASR二选一(需要运行fay/test/funasr服务)集成达摩院asr项目、感谢中科大脑算法工程师张聪聪提供集成代码 +local_asr_ip=127.0.0.1 +local_asr_port=10197 + +# ASR二选一(第1次运行建议用这个,免费3个月), 阿里云 实时语音识别 服务密钥(必须)https://ai.aliyun.com/nls/trans ali_nls_key_id= ali_nls_key_secret= ali_nls_app_key= + + # 微软 文字转语音 服务密钥(非必须,使用可产生不同情绪的音频)https://azure.microsoft.com/zh-cn/services/cognitive-services/text-to-speech/ ms_tts_key= ms_tts_region= @@ -14,17 +22,17 @@ xf_ltp_app_id= xf_ltp_api_key= #NLP四选一:xfaiui、yuan、chatgpt、rasa(需启动chatglm及rasa,https://m.bilibili.com/video/BV1D14y1f7pr) -chat_module= +chat_module=xfaiui -# 讯飞 自然语言处理 服务密钥(NLP4选1) https://aiui.xfyun.cn/solution/webapi/ +# 讯飞 自然语言处理 服务密钥(NLP3选1) https://aiui.xfyun.cn/solution/webapi/ xf_aiui_app_id= xf_aiui_api_key= -#浪.潮源大模型 服务密钥(NLP4选1) https://air.inspur.com/ -yuan_1_0_account= +#浪.潮源大模型 服务密钥(NLP3选1) https://air.inspur.com/ +yuan_1_0_account= yuan_1_0_phone= -#gpt 服务密钥(NLP4选1) https://openai.com/ +#gpt 服务密钥(NLP3选1) https://openai.com/ chatgpt_api_key= #ngrok内网穿透id,远程设备可以通过互联网连接Fay(非必须)http://ngrok.cc diff --git a/test/funasr/ASR_client.py b/test/funasr/ASR_client.py new file mode 100644 index 0000000..28d7654 --- /dev/null +++ b/test/funasr/ASR_client.py @@ -0,0 +1,94 @@ +import pyaudio +import websockets +import asyncio +from queue import Queue +import argparse +import json + +parser = argparse.ArgumentParser() +parser.add_argument("--host", + type=str, + default="172.16.77.144", + required=False, + help="host ip, localhost, 0.0.0.0") +parser.add_argument("--port", + type=int, + default=10194, + required=False, + help="grpc server port") +parser.add_argument("--chunk_size", + type=int, + default=160, + help="ms") +parser.add_argument("--vad_needed", + type=bool, + default=True) +args = parser.parse_args() + +voices = Queue() + +async def record(): + global voices + FORMAT = pyaudio.paInt16 + CHANNELS = 1 + RATE = 16000 + CHUNK = int(RATE / 1000 * args.chunk_size) + + p = pyaudio.PyAudio() + + stream = p.open(format=FORMAT, + channels=CHANNELS, + rate=RATE, + input=True, + frames_per_buffer=CHUNK) + + while True: + data = stream.read(CHUNK) + voices.put(data) + await asyncio.sleep(0.01) + +async def ws_send(): + global voices + global websocket + print("started to sending data!") + #设置传入参数,是否需要vad + data_head = { + 'vad_need': args.vad_needed, + 'state': '' + } + if type(data_head) == dict: + await websocket.send(json.dumps(data_head)) + + while True: + while not voices.empty(): + data = voices.get() + voices.task_done() + try: + + if type(data) == bytes: + await websocket.send(data) # 通过ws对象发送数据 + except Exception as e: + print('Exception occurred:', e) + await asyncio.sleep(0.01) + await asyncio.sleep(0.01) + +async def message(): + global websocket + while True: + try: + print(await websocket.recv()) + except Exception as e: + print("Exception:", e) + +async def ws_client(): + global websocket # 定义一个全局变量ws,用于保存websocket连接对象 + # uri = "ws://11.167.134.197:8899" + uri = "ws://{}:{}".format(args.host, args.port) + async for websocket in websockets.connect(uri, subprotocols=["binary"], ping_interval=None): + task1 = asyncio.create_task(record()) # 创建一个后台任务录音 + task2 = asyncio.create_task(ws_send()) # 创建一个后台任务发送 + task3 = asyncio.create_task(message()) # 创建一个后台接收消息的任务 + await asyncio.gather(task1, task2, task3) + +asyncio.get_event_loop().run_until_complete(ws_client()) # 启动协程 +asyncio.get_event_loop().run_forever() diff --git a/test/funasr/ASR_server.py b/test/funasr/ASR_server.py new file mode 100644 index 0000000..e7b6055 --- /dev/null +++ b/test/funasr/ASR_server.py @@ -0,0 +1,199 @@ +import asyncio +import websockets +import time +from queue import Queue +import threading +import argparse +import json +from modelscope.pipelines import pipeline +from modelscope.utils.constant import Tasks +from modelscope.utils.logger import get_logger +import logging +import tracemalloc +import functools +tracemalloc.start() + +logger = get_logger(log_level=logging.CRITICAL) +logger.setLevel(logging.CRITICAL) + + +websocket_users = set() #维护客户端列表 + +parser = argparse.ArgumentParser() +parser.add_argument("--host", + type=str, + default="0.0.0.0", + required=False, + help="host ip, localhost, 0.0.0.0") +parser.add_argument("--port", + type=int, + default=10197, + required=False, + help="grpc server port") +parser.add_argument("--model", + type=str, + default="./data/speech_paraformer-large-contextual_asr_nat-zh-cn-16k-common-vocab8404", + help="model from modelscope") +parser.add_argument("--vad_model", + type=str, + default="damo/speech_fsmn_vad_zh-cn-16k-common-pytorch", + help="model from modelscope") +parser.add_argument("--punc_model", + type=str, + default="", + help="model from modelscope") +parser.add_argument("--ngpu", + type=int, + default=1, + help="0 for cpu, 1 for gpu") + +args = parser.parse_args() + +print("model loading") +# asr +param_dict_asr = {} +param_dict_asr['hotword']="data/hotword.txt" +inference_pipeline_asr = pipeline( + task=Tasks.auto_speech_recognition, + model=args.model, + param_dict=param_dict_asr, + ngpu=args.ngpu +) +if args.punc_model != "": + # param_dict_punc = {'cache': list()} + inference_pipeline_punc = pipeline( + task=Tasks.punctuation, + model=args.punc_model, + model_revision=None, + ngpu=args.ngpu, + ) +else: + inference_pipeline_punc = None + + +# vad +inference_pipeline_vad = pipeline( + task=Tasks.voice_activity_detection, + model=args.vad_model, + model_revision='v1.2.0', + output_dir=None, + batch_size=1, + mode='online', + ngpu=args.ngpu, +) +print("model loaded") + + +def vad(data, websocket): # VAD推理 + global inference_pipeline_vad + segments_result = inference_pipeline_vad(audio_in=data, param_dict=websocket.param_dict_vad) + speech_start = False + speech_end = False + + if len(segments_result) == 0 or len(segments_result["text"]) > 1: + return speech_start, speech_end + if segments_result["text"][0][0] != -1: + speech_start = True + if segments_result["text"][0][1] != -1: + speech_end = True + return speech_start, speech_end + + +async def ws_serve(websocket,path): + + frames = [] # 存储所有的帧数据 + buffer = [] # 存储缓存中的帧数据(最多两个片段) + RECORD_NUM = 0 + global websocket_users + speech_start, speech_end = False, False + # 调用asr函数 + websocket.param_dict_vad = {'in_cache': dict(), "is_final": False} + websocket.param_dict_punc = {'cache': list()} + websocket.speek = Queue() # websocket 添加进队列对象 让asr读取语音数据包 + websocket.send_msg = Queue() # websocket 添加个队列对象 让ws发送消息到客户端 + websocket_users.add(websocket) + ss = threading.Thread(target=asr, args=(websocket,)) + ss.start() + try: + async for message in websocket: + if (type(message) == str): + dict_message = json.loads(message) + if dict_message['vad_need'] == True: + vad_method = True + else: + vad_method = False + if vad_method == True: + if type(message) != str: + buffer.append(message) + if len(buffer) > 2: + buffer.pop(0) # 如果缓存超过两个片段,则删除最早的一个 + + if speech_start: + frames.append(message) + RECORD_NUM += 1 + if type(message) != str: + speech_start_i, speech_end_i = vad(message, websocket) + # print(speech_start_i, speech_end_i) + if speech_start_i: + speech_start = speech_start_i + frames = [] + frames.extend(buffer) # 把之前2个语音数据快加入 + if speech_end_i or RECORD_NUM > 300: + speech_start = False + audio_in = b"".join(frames) + websocket.speek.put(audio_in) + frames = [] # 清空所有的帧数据 + buffer = [] # 清空缓存中的帧数据(最多两个片段) + RECORD_NUM = 0 + if not websocket.send_msg.empty(): + await websocket.send(websocket.send_msg.get()) + websocket.send_msg.task_done() + else: + if speech_start : + frames.append(message) + RECORD_NUM += 1 + if (type(message) == str): + dict_message = json.loads(message) + if dict_message['vad_need'] == False and dict_message['state'] == 'StartTranscription': + speech_start = True + elif dict_message['vad_need'] == False and dict_message['state'] == 'StopTranscription': + speech_start = False + speech_end = True + if len(frames) != 0: + frames.pop() + if speech_end or RECORD_NUM > 1024: + speech_start = False + speech_end = False + audio_in = b"".join(frames) + websocket.speek.put(audio_in) + frames = [] # 清空所有的帧数据 + RECORD_NUM = 0 + await websocket.send(websocket.send_msg.get()) + websocket.send_msg.task_done() + except websockets.ConnectionClosed: + print("ConnectionClosed...", websocket_users) # 链接断开 + websocket_users.remove(websocket) + except websockets.InvalidState: + print("InvalidState...") # 无效状态 + except Exception as e: + print("Exception:", e) + + + +def asr(websocket): # ASR推理 + global inference_pipeline_asr, inference_pipeline_punc + # global param_dict_punc + global websocket_users + while websocket in websocket_users: + # if not websocket.speek.empty(): + audio_in = websocket.speek.get() + websocket.speek.task_done() + if len(audio_in) > 0: + rec_result = inference_pipeline_asr(audio_in=audio_in) + if "text" in rec_result: + websocket.send_msg.put(rec_result["text"]) # 存入发送队列 直接调用send发送不了 + time.sleep(0.1) + +start_server = websockets.serve(ws_serve, args.host, args.port, subprotocols=["binary"], ping_interval=None) +asyncio.get_event_loop().run_until_complete(start_server) +asyncio.get_event_loop().run_forever() \ No newline at end of file diff --git a/test/funasr/README.md b/test/funasr/README.md new file mode 100644 index 0000000..4ac5af5 --- /dev/null +++ b/test/funasr/README.md @@ -0,0 +1,36 @@ +## 语音服务介绍 + +该服务以modelscope funasr语音识别为基础 + + +## Install +pip install torch +pip install modelscope +pip install testresources +pip install websockets +pip install torchaudio +git clone https://github.com/alibaba-damo-academy/FunASR.git +pip install ./FunASR(若editdistance编译不通过,请手动安装 pip install editdistance,在FunASR/setup.py也注释掉,再执行) + + + +## Start server +1、从百度网盘下载并解压模型文件到fay/test/funasr/data目录 +链接:https://pan.baidu.com/s/17SJqWIo9zeGAZxPCMIsHJA?pwd=5fzr +提取码:5fzr + +2、python -u ASR_server.py --host "0.0.0.0" --port 10197 --ngpu 0 --model ./data/speech_paraformer-large-contextual_asr_nat-zh-cn-16k-common-vocab8404 + +## Fay connect +更改fay/system.conf配置项,并重新启动fay. + +https://www.bilibili.com/video/BV1qs4y1g74e/?share_source=copy_web&vd_source=64cd9062f5046acba398177b62bea9ad + + +## Acknowledge +感谢 +1. 中科大脑算法工程师张聪聪 +2. [cgisky1980](https://github.com/cgisky1980/FunASR) +3. [modelscope](https://github.com/modelscope/modelscope) +4. [FunASR](https://github.com/alibaba-damo-academy/FunASR) +5. [Fay数字人助理](https://github.com/TheRamU/Fay). diff --git a/test/funasr/data/hotword.txt b/test/funasr/data/hotword.txt new file mode 100644 index 0000000..e69de29 diff --git a/test/rasa/models/20230424-153214-bisque-customer.tar.gz b/test/rasa/models/20230424-153214-bisque-customer.tar.gz new file mode 100644 index 0000000..e53916b Binary files /dev/null and b/test/rasa/models/20230424-153214-bisque-customer.tar.gz differ diff --git a/utils/config_util.py b/utils/config_util.py index c95c8ba..b52d37b 100644 --- a/utils/config_util.py +++ b/utils/config_util.py @@ -22,6 +22,10 @@ key_chatgpt_api_key = None key_chat_module = None +ASR_mode = None +local_asr_ip = None +local_asr_port = None + def load_config(): global config global system_config @@ -40,6 +44,10 @@ def load_config(): global key_chatgpt_api_key global key_chat_module + global ASR_mode + global local_asr_ip + global local_asr_port + system_config = ConfigParser() system_config.read('system.conf', encoding='UTF-8') key_ali_nls_key_id = system_config.get('key', 'ali_nls_key_id') @@ -57,6 +65,10 @@ def load_config(): key_chatgpt_api_key = system_config.get('key', 'chatgpt_api_key') key_chat_module = system_config.get('key', 'chat_module') + ASR_mode = system_config.get('key', 'ASR_mode') + local_asr_ip = system_config.get('key', 'local_asr_ip') + local_asr_port = system_config.get('key', 'local_asr_port') + config = json.load(codecs.open('config.json', encoding='utf-8'))