<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="API docs for the aProperty property from the AClassWithFancyProperties class, for the Dart programming language.">
  <title>aProperty property - AClassWithFancyProperties class - fake library - Dart API</title>
  <!-- required because all the links are pseudo-absolute -->
  <base href="../..">

  <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:500,400i,400,300|Source+Sans+Pro:400,300,700" rel="stylesheet">
  <link rel="stylesheet" href="static-assets/github.css">
  <link rel="stylesheet" href="static-assets/styles.css">
  <link rel="icon" href="static-assets/favicon.png">

</head>

<body>

<div id="overlay-under-drawer"></div>

<header id="title">
  <button id="sidenav-left-toggle" type="button">&nbsp;</button>
  <ol class="breadcrumbs gt-separated dark hidden-xs">
    <li><a href="index.html">test_package</a></li>
    <li><a href="fake/fake-library.html">fake</a></li>
    <li><a href="fake/AClassWithFancyProperties-class.html">AClassWithFancyProperties</a></li>
    <li class="self-crumb">aProperty property</li>
  </ol>
  <div class="self-name">aProperty</div>
  <form class="search navbar-right" role="search">
    <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
  </form>
</header>

<main>

  <div class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
    <header id="header-search-sidebar" class="hidden-l">
      <form class="search-sidebar" role="search">
        <input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
      </form>
    </header>
    
    <ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
      <li><a href="index.html">test_package</a></li>
      <li><a href="fake/fake-library.html">fake</a></li>
      <li><a href="fake/AClassWithFancyProperties-class.html">AClassWithFancyProperties</a></li>
      <li class="self-crumb">aProperty property</li>
    </ol>
    
    <h5>AClassWithFancyProperties class</h5>
    <ol>
      <li class="section-title"><a href="fake/AClassWithFancyProperties-class.html#constructors">Constructors</a></li>
      <li><a href="fake/AClassWithFancyProperties/AClassWithFancyProperties.html">AClassWithFancyProperties</a></li>
    
      <li class="section-title">
        <a href="fake/AClassWithFancyProperties-class.html#instance-properties">Properties</a>
      </li>
      <li><a href="fake/AClassWithFancyProperties/aProperty.html">aProperty</a></li>
      <li class="inherited"><a href="fake/AClassWithFancyProperties/hashCode.html">hashCode</a></li>
      <li class="inherited"><a href="fake/AClassWithFancyProperties/runtimeType.html">runtimeType</a></li>
    
      <li class="section-title inherited"><a href="fake/AClassWithFancyProperties-class.html#instance-methods">Methods</a></li>
      <li class="inherited"><a href="fake/AClassWithFancyProperties/noSuchMethod.html">noSuchMethod</a></li>
      <li class="inherited"><a href="fake/AClassWithFancyProperties/toString.html">toString</a></li>
    
      <li class="section-title inherited"><a href="fake/AClassWithFancyProperties-class.html#operators">Operators</a></li>
      <li class="inherited"><a href="fake/AClassWithFancyProperties/operator_equals.html">operator ==</a></li>
    
    
    
    </ol>
  </div><!--/.sidebar-offcanvas-->

  <div class="col-xs-12 col-sm-9 col-md-8 main-content">
    <h1>aProperty property</h1>

        <section class="multi-line-signature">
          <span class="returntype">String</span>
          <span class="name ">aProperty</span>
          <div class="features">read / write</div>
        </section>
        <section class="desc markdown">
          <p>This property is quite fancy, and requires sample code to understand.</p>
<pre class="language-dart"><code class="language-dart">AClassWithFancyProperties x = new AClassWithFancyProperties();

if (x.aProperty.contains('Hello')) {
  print("I am indented!");
  if (x.aProperty.contains('World')) {
    print ("I am indented even more!!!");
  }
}
</code></pre>
        </section>
                

  </div> <!-- /.main-content -->

  <div class="col-xs-6 col-sm-6 col-md-2 sidebar sidebar-offcanvas-right">
  </div><!--/.sidebar-offcanvas-->

</main>

<footer>
  <span class="no-break">
    test_package 0.0.1
  </span>

</footer>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/highlight.pack.js"></script>
<script src="static-assets/URI.js"></script>
<script src="static-assets/script.js"></script>


</body>

</html>
