# GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonObjectCoderBuilder-1.Prop

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonObjectCoderBuilder_1_Prop_" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonObjectCoderBuilder`1.Prop*">Prop Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonObjectCoderBuilder_1_Prop_" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonObjectCoderBuilder`1.Prop*"></a>
<h4 id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonObjectCoderBuilder_1_Prop__1_System_String_System_Linq_Expressions_Expression_System_Func__0___0___GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__System_Func___0_System_Boolean__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonObjectCoderBuilder`1.Prop``1(System.String,System.Linq.Expressions.Expression{System.Func{`0,``0}},GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{``0},System.Func{``0,System.Boolean})">Prop&lt;TProperty&gt;(string, Expression&lt;Func&lt;TObject, TProperty&gt;&gt;, JsonCoder&lt;TProperty&gt;, Func&lt;TProperty, bool&gt;)</h4>
<div class="markdown level1 summary"><p>Adds a property to the JSON object coder with the specified name, getter, and coder.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public JsonObjectCoderBuilder&lt;TObject&gt; Prop&lt;TProperty&gt;(string name, Expression&lt;Func&lt;TObject, TProperty&gt;&gt; getter, JsonCoder&lt;TProperty&gt; coder, Func&lt;TProperty, bool&gt; skipOnWrite = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></td>
      <td><span class="parametername">name</span></td>
      <td><p>A <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a> value indicating the name of the property in the JSON object.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1">Expression</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-2">Func</a>&lt;TObject, TProperty&gt;&gt;</td>
      <td><span class="parametername">getter</span></td>
      <td><p>An <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression">Expression</a> object to get the property value from the object.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.html">JsonCoder</a>&lt;TProperty&gt;</td>
      <td><span class="parametername">coder</span></td>
      <td><p>A <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.html">JsonCoder&lt;T&gt;</a> used to encode and decode the property value.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-2">Func</a>&lt;TProperty, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>&gt;</td>
      <td><span class="parametername">skipOnWrite</span></td>
      <td><p>A function with condition to skip writing the property.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonObjectCoderBuilder-1.html">JsonObjectCoderBuilder</a>&lt;TObject&gt;</td>
      <td><p>The current instance of <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonObjectCoderBuilder-1.html">JsonObjectCoderBuilder&lt;TObject&gt;</a>.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><span class="parametername">TProperty</span></td>
      <td><p>The type of the property.</p>
</td>
    </tr>
  </tbody>
</table>


<a id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonObjectCoderBuilder_1_Prop_" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonObjectCoderBuilder`1.Prop*"></a>
<h4 id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonObjectCoderBuilder_1_Prop__1_System_Linq_Expressions_Expression_System_Func__0___0___GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__System_Func___0_System_Boolean__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonObjectCoderBuilder`1.Prop``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{``0},System.Func{``0,System.Boolean})">Prop&lt;TProperty&gt;(Expression&lt;Func&lt;TObject, TProperty&gt;&gt;, JsonCoder&lt;TProperty&gt;, Func&lt;TProperty, bool&gt;)</h4>
<div class="markdown level1 summary"><p>Adds a property to the JSON object coder with the specified getter and coder.
The property name is derived from the expression.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public JsonObjectCoderBuilder&lt;TObject&gt; Prop&lt;TProperty&gt;(Expression&lt;Func&lt;TObject, TProperty&gt;&gt; getter, JsonCoder&lt;TProperty&gt; coder, Func&lt;TProperty, bool&gt; skipOnWrite = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1">Expression</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-2">Func</a>&lt;TObject, TProperty&gt;&gt;</td>
      <td><span class="parametername">getter</span></td>
      <td><p>An <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression">Expression</a> object to get the property value from the object.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.html">JsonCoder</a>&lt;TProperty&gt;</td>
      <td><span class="parametername">coder</span></td>
      <td><p>A <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.html">JsonCoder&lt;T&gt;</a> used to encode and decode the property value.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-2">Func</a>&lt;TProperty, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>&gt;</td>
      <td><span class="parametername">skipOnWrite</span></td>
      <td><p>A function with condition to skip writing the property.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonObjectCoderBuilder-1.html">JsonObjectCoderBuilder</a>&lt;TObject&gt;</td>
      <td><p>The current instance of <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonObjectCoderBuilder-1.html">JsonObjectCoderBuilder&lt;TObject&gt;</a>.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><span class="parametername">TProperty</span></td>
      <td><p>The type of the property.</p>
</td>
    </tr>
  </tbody>
</table>


<a id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonObjectCoderBuilder_1_Prop_" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonObjectCoderBuilder`1.Prop*"></a>
<h4 id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonObjectCoderBuilder_1_Prop__1_System_String_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__System_Func__0___0__System_Action__0___0__System_Func___0_System_Boolean__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonObjectCoderBuilder`1.Prop``1(System.String,GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{``0},System.Func{`0,``0},System.Action{`0,``0},System.Func{``0,System.Boolean})">Prop&lt;TProperty&gt;(string, JsonCoder&lt;TProperty&gt;, Func&lt;TObject, TProperty&gt;, Action&lt;TObject, TProperty&gt;, Func&lt;TProperty, bool&gt;)</h4>
<div class="markdown level1 summary"><p>Adds a property to the JSON object coder with the specified name, coder, getter function, and setter function.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public JsonObjectCoderBuilder&lt;TObject&gt; Prop&lt;TProperty&gt;(string name, JsonCoder&lt;TProperty&gt; coder, Func&lt;TObject, TProperty&gt; getterFn, Action&lt;TObject, TProperty&gt; setterFn, Func&lt;TProperty, bool&gt; skipOnWrite = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></td>
      <td><span class="parametername">name</span></td>
      <td><p>A <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a> value indicating the name of the property in the JSON object.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.html">JsonCoder</a>&lt;TProperty&gt;</td>
      <td><span class="parametername">coder</span></td>
      <td><p>A <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.html">JsonCoder&lt;T&gt;</a> used to encode and decode the property value.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-2">Func</a>&lt;TObject, TProperty&gt;</td>
      <td><span class="parametername">getterFn</span></td>
      <td><p>A function to get the property value from the object.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.action-2">Action</a>&lt;TObject, TProperty&gt;</td>
      <td><span class="parametername">setterFn</span></td>
      <td><p>An action to set the property value in the object.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-2">Func</a>&lt;TProperty, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>&gt;</td>
      <td><span class="parametername">skipOnWrite</span></td>
      <td><p>A function with condition to skip writing the property.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonObjectCoderBuilder-1.html">JsonObjectCoderBuilder</a>&lt;TObject&gt;</td>
      <td><p>The current instance of <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonObjectCoderBuilder-1.html">JsonObjectCoderBuilder&lt;TObject&gt;</a>.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><span class="parametername">TProperty</span></td>
      <td><p>The type of the property.</p>
</td>
    </tr>
  </tbody>
</table>
</div>
