- partial class TestClass
- {
- public void DoStuff(MediaObject mediaObject)
- {
- using(var lock = mediaObject.Lock())
- {
- //do some stuff
- }
- //the mediaObject gets automatically unlocked by the using statement after "doing your stuff"
- }
- }
-
- 1 >= value <= 60
.
- partial class TestClass
- {
- public void DoStuff(MFMediaBuffer mediaBuffer)
- {
- using(var lock = mediaBuffer.Lock())
- {
- //do some stuff
- }
- //the mediaBuffer gets automatically unlocked by the using statement after "doing your stuff"
- }
- }
-
- effective_frequency = DopplerFactor × original_frequency
.
- Only calculated if the effective_frequency = DopplerFactor × original_frequency
.
- Only calculated if the
-
-
- [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
- [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
- [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
- [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
- [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
- [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
- [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
- [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
- [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
- [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
-
-
- [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
-
-
-
-
-
-
-
-
-
-
-
-
-
- int (*xCreate)(sqlite3 *db, void *pAux,
- int argc, char *const*argv,
- sqlite3_vtab **ppVTab,
- char **pzErr);
-
- int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable)
-
- CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden);
-
- CREATE TABLE generate_series(
- value,
- start HIDDEN,
- stop HIDDEN,
- step HIDDEN
- );
-
- SELECT value FROM generate_series(5,50);
-
- SELECT value FROM generate_series WHERE start=5 AND stop=50;
-
- int (*xConnect)(sqlite3*, void *pAux,
- int argc, char *const*argv,
- sqlite3_vtab **ppVTab,
- char **pzErr);
-
- int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
-
- struct sqlite3_index_info {
- /* Inputs */
- const int nConstraint; /* Number of entries in aConstraint */
- const struct sqlite3_index_constraint {
- int iColumn; /* Column constrained. -1 for ROWID */
- unsigned char op; /* Constraint operator */
- unsigned char usable; /* True if this constraint is usable */
- int iTermOffset; /* Used internally - xBestIndex should ignore */
- } *const aConstraint; /* Table of WHERE clause constraints */
- const int nOrderBy; /* Number of terms in the ORDER BY clause */
- const struct sqlite3_index_orderby {
- int iColumn; /* Column number */
- unsigned char desc; /* True for DESC. False for ASC. */
- } *const aOrderBy; /* The ORDER BY clause */
- /* Outputs */
- struct sqlite3_index_constraint_usage {
- int argvIndex; /* if >0, constraint is part of argv to xFilter */
- unsigned char omit; /* Do not code a test for this constraint */
- } *const aConstraintUsage;
- int idxNum; /* Number used to identify the index */
- char *idxStr; /* String, possibly obtained from sqlite3_malloc */
- int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */
- int orderByConsumed; /* True if output is already ordered */
- double estimatedCost; /* Estimated cost of using this index */
- ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]>
- sqlite3_int64 estimatedRows; /* Estimated number of rows returned */
- ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]>
- int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */
- ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]>
- sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */
- };
-
- #define SQLITE_INDEX_CONSTRAINT_EQ 2
- #define SQLITE_INDEX_CONSTRAINT_GT 4
- #define SQLITE_INDEX_CONSTRAINT_LE 8
- #define SQLITE_INDEX_CONSTRAINT_LT 16
- #define SQLITE_INDEX_CONSTRAINT_GE 32
- #define SQLITE_INDEX_CONSTRAINT_MATCH 64
- #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */
- #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */
-
- column OP EXPR
-
- a = 5
-
- x BETWEEN 10 AND 100 AND 999>y
-
- x >= 10
- x <= 100
- y < 999
-
- FUNCTION( column, EXPR)
-
- SELECT * FROM realtab, tablevaluedfunc(realtab.x);
-
- SELECT * FROM realtab, tablevaluedfunc
- WHERE tablevaluedfunc.param1 = realtab.x;
-
- int (*xDisconnect)(sqlite3_vtab *pVTab);
-
- int (*xDestroy)(sqlite3_vtab *pVTab);
-
- int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor);
-
- int (*xClose)(sqlite3_vtab_cursor*);
-
- int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr,
- int argc, sqlite3_value **argv);
-
- int (*xNext)(sqlite3_vtab_cursor*);
-
- int (*xEof)(sqlite3_vtab_cursor*);
-
- int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N);
-
- int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid);
-
- int (*xUpdate)(
- sqlite3_vtab *pVTab,
- int argc,
- sqlite3_value **argv,
- sqlite_int64 *pRowid
- );
-
- ]]>
- ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]>
- ]]>]]>
- DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted.
- No insert occurs.
- ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]>
- ]]>]]>
- INSERT: A new row is inserted with column values taken from
- argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL,
- then a new unique rowid is generated automatically. The argv[1] will be NULL
- for a WITHOUT ROWID virtual table, in which case the implementation should
- take the PRIMARY KEY value from the appropriate column in argv[2] and following.
- ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]>
- ]]>]]>
- UPDATE:
- The row with rowid or PRIMARY KEY argv[0] is updated with new values
- in argv[2] and following parameters.
- ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]>
- ]]>]]>
- UPDATE with rowid or PRIMARY KEY change:
- The row with rowid or PRIMARY KEY argv[0] is updated with
- the rowid or PRIMARY KEY in argv[1]
- and new values in argv[2] and following parameters. This will occur
- when an SQL statement updates a rowid, as in the statement:
-
- UPDATE table SET rowid=rowid+1 WHERE ...;
-
- ]]>]]>
-
- int (*xBegin)(sqlite3_vtab *pVTab);
-
- int (*xSync)(sqlite3_vtab *pVTab);
-
- int (*xCommit)(sqlite3_vtab *pVTab);
-
- int (*xRollback)(sqlite3_vtab *pVTab);
-
- int (*xFindFunction)(
- sqlite3_vtab *pVtab,
- int nArg,
- const char *zName,
- void (**pxFunc)(sqlite3_context*,int,sqlite3_value**),
- void **ppArg
- );
-
- SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon);
-
- int (*xRename)(sqlite3_vtab *pVtab, const char *zNew);
-
- int (*xSavepoint)(sqlite3_vtab *pVtab, int);
- int (*xRelease)(sqlite3_vtab *pVtab, int);
- int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
-
- int (*xSavepoint)(sqlite3_vtab *pVtab, int);
- int (*xRelease)(sqlite3_vtab *pVtab, int);
- int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
-
- int (*xSavepoint)(sqlite3_vtab *pVtab, int);
- int (*xRelease)(sqlite3_vtab *pVtab, int);
- int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
-
- (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol)))
-
- public static class Sample
- {
- public static void Main()
- {
- using (SQLiteConnection connection = new SQLiteConnection(
- "Data Source=:memory:;"))
- {
- connection.Open();
-
- connection.CreateModule(new SQLiteModuleEnumerable(
- "sampleModule", new string[] { "one", "two", "three" }));
-
- using (SQLiteCommand command = connection.CreateCommand())
- {
- command.CommandText =
- "CREATE VIRTUAL TABLE t1 USING sampleModule;";
-
- command.ExecuteNonQuery();
- }
-
- using (SQLiteCommand command = connection.CreateCommand())
- {
- command.CommandText = "SELECT * FROM t1;";
-
- using (SQLiteDataReader dataReader = command.ExecuteReader())
- {
- while (dataReader.Read())
- Console.WriteLine(dataReader[0].ToString());
- }
- }
-
- connection.Close();
- }
- }
- }
-
-
- int (*xCreate)(sqlite3 *db, void *pAux,
- int argc, char *const*argv,
- sqlite3_vtab **ppVTab,
- char **pzErr);
-
- int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable)
-
- CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden);
-
- CREATE TABLE generate_series(
- value,
- start HIDDEN,
- stop HIDDEN,
- step HIDDEN
- );
-
- SELECT value FROM generate_series(5,50);
-
- SELECT value FROM generate_series WHERE start=5 AND stop=50;
-
- int (*xConnect)(sqlite3*, void *pAux,
- int argc, char *const*argv,
- sqlite3_vtab **ppVTab,
- char **pzErr);
-
- int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
-
- struct sqlite3_index_info {
- /* Inputs */
- const int nConstraint; /* Number of entries in aConstraint */
- const struct sqlite3_index_constraint {
- int iColumn; /* Column constrained. -1 for ROWID */
- unsigned char op; /* Constraint operator */
- unsigned char usable; /* True if this constraint is usable */
- int iTermOffset; /* Used internally - xBestIndex should ignore */
- } *const aConstraint; /* Table of WHERE clause constraints */
- const int nOrderBy; /* Number of terms in the ORDER BY clause */
- const struct sqlite3_index_orderby {
- int iColumn; /* Column number */
- unsigned char desc; /* True for DESC. False for ASC. */
- } *const aOrderBy; /* The ORDER BY clause */
- /* Outputs */
- struct sqlite3_index_constraint_usage {
- int argvIndex; /* if >0, constraint is part of argv to xFilter */
- unsigned char omit; /* Do not code a test for this constraint */
- } *const aConstraintUsage;
- int idxNum; /* Number used to identify the index */
- char *idxStr; /* String, possibly obtained from sqlite3_malloc */
- int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */
- int orderByConsumed; /* True if output is already ordered */
- double estimatedCost; /* Estimated cost of using this index */
- ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]>
- sqlite3_int64 estimatedRows; /* Estimated number of rows returned */
- ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]>
- int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */
- ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]>
- sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */
- };
-
- #define SQLITE_INDEX_CONSTRAINT_EQ 2
- #define SQLITE_INDEX_CONSTRAINT_GT 4
- #define SQLITE_INDEX_CONSTRAINT_LE 8
- #define SQLITE_INDEX_CONSTRAINT_LT 16
- #define SQLITE_INDEX_CONSTRAINT_GE 32
- #define SQLITE_INDEX_CONSTRAINT_MATCH 64
- #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */
- #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */
-
- column OP EXPR
-
- a = 5
-
- x BETWEEN 10 AND 100 AND 999>y
-
- x >= 10
- x <= 100
- y < 999
-
- FUNCTION( column, EXPR)
-
- SELECT * FROM realtab, tablevaluedfunc(realtab.x);
-
- SELECT * FROM realtab, tablevaluedfunc
- WHERE tablevaluedfunc.param1 = realtab.x;
-
- int (*xDisconnect)(sqlite3_vtab *pVTab);
-
- int (*xDestroy)(sqlite3_vtab *pVTab);
-
- int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor);
-
- int (*xClose)(sqlite3_vtab_cursor*);
-
- int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr,
- int argc, sqlite3_value **argv);
-
- int (*xNext)(sqlite3_vtab_cursor*);
-
- int (*xEof)(sqlite3_vtab_cursor*);
-
- int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N);
-
- int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid);
-
- int (*xUpdate)(
- sqlite3_vtab *pVTab,
- int argc,
- sqlite3_value **argv,
- sqlite_int64 *pRowid
- );
-
- ]]>
- ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]>
- ]]>]]>
- DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted.
- No insert occurs.
- ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]>
- ]]>]]>
- INSERT: A new row is inserted with column values taken from
- argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL,
- then a new unique rowid is generated automatically. The argv[1] will be NULL
- for a WITHOUT ROWID virtual table, in which case the implementation should
- take the PRIMARY KEY value from the appropriate column in argv[2] and following.
- ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]>
- ]]>]]>
- UPDATE:
- The row with rowid or PRIMARY KEY argv[0] is updated with new values
- in argv[2] and following parameters.
- ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]>
- ]]>]]>
- UPDATE with rowid or PRIMARY KEY change:
- The row with rowid or PRIMARY KEY argv[0] is updated with
- the rowid or PRIMARY KEY in argv[1]
- and new values in argv[2] and following parameters. This will occur
- when an SQL statement updates a rowid, as in the statement:
-
- UPDATE table SET rowid=rowid+1 WHERE ...;
-
- ]]>]]>
-
- int (*xBegin)(sqlite3_vtab *pVTab);
-
- int (*xSync)(sqlite3_vtab *pVTab);
-
- int (*xCommit)(sqlite3_vtab *pVTab);
-
- int (*xRollback)(sqlite3_vtab *pVTab);
-
- int (*xFindFunction)(
- sqlite3_vtab *pVtab,
- int nArg,
- const char *zName,
- void (**pxFunc)(sqlite3_context*,int,sqlite3_value**),
- void **ppArg
- );
-
- SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon);
-
- int (*xRename)(sqlite3_vtab *pVtab, const char *zNew);
-
- int (*xSavepoint)(sqlite3_vtab *pVtab, int);
- int (*xRelease)(sqlite3_vtab *pVtab, int);
- int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
-
- int (*xSavepoint)(sqlite3_vtab *pVtab, int);
- int (*xRelease)(sqlite3_vtab *pVtab, int);
- int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
-
- int (*xSavepoint)(sqlite3_vtab *pVtab, int);
- int (*xRelease)(sqlite3_vtab *pVtab, int);
- int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
-
- (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol)))
-
- public static class Sample
- {
- public static void Main()
- {
- using (SQLiteConnection connection = new SQLiteConnection(
- "Data Source=:memory:;"))
- {
- connection.Open();
-
- connection.CreateModule(new SQLiteModuleEnumerable(
- "sampleModule", new string[] { "one", "two", "three" }));
-
- using (SQLiteCommand command = connection.CreateCommand())
- {
- command.CommandText =
- "CREATE VIRTUAL TABLE t1 USING sampleModule;";
-
- command.ExecuteNonQuery();
- }
-
- using (SQLiteCommand command = connection.CreateCommand())
- {
- command.CommandText = "SELECT * FROM t1;";
-
- using (SQLiteDataReader dataReader = command.ExecuteReader())
- {
- while (dataReader.Read())
- Console.WriteLine(dataReader[0].ToString());
- }
- }
-
- connection.Close();
- }
- }
- }
-
-
- int (*xCreate)(sqlite3 *db, void *pAux,
- int argc, char *const*argv,
- sqlite3_vtab **ppVTab,
- char **pzErr);
-
- int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable)
-
- CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden);
-
- CREATE TABLE generate_series(
- value,
- start HIDDEN,
- stop HIDDEN,
- step HIDDEN
- );
-
- SELECT value FROM generate_series(5,50);
-
- SELECT value FROM generate_series WHERE start=5 AND stop=50;
-
- int (*xConnect)(sqlite3*, void *pAux,
- int argc, char *const*argv,
- sqlite3_vtab **ppVTab,
- char **pzErr);
-
- int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
-
- struct sqlite3_index_info {
- /* Inputs */
- const int nConstraint; /* Number of entries in aConstraint */
- const struct sqlite3_index_constraint {
- int iColumn; /* Column constrained. -1 for ROWID */
- unsigned char op; /* Constraint operator */
- unsigned char usable; /* True if this constraint is usable */
- int iTermOffset; /* Used internally - xBestIndex should ignore */
- } *const aConstraint; /* Table of WHERE clause constraints */
- const int nOrderBy; /* Number of terms in the ORDER BY clause */
- const struct sqlite3_index_orderby {
- int iColumn; /* Column number */
- unsigned char desc; /* True for DESC. False for ASC. */
- } *const aOrderBy; /* The ORDER BY clause */
- /* Outputs */
- struct sqlite3_index_constraint_usage {
- int argvIndex; /* if >0, constraint is part of argv to xFilter */
- unsigned char omit; /* Do not code a test for this constraint */
- } *const aConstraintUsage;
- int idxNum; /* Number used to identify the index */
- char *idxStr; /* String, possibly obtained from sqlite3_malloc */
- int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */
- int orderByConsumed; /* True if output is already ordered */
- double estimatedCost; /* Estimated cost of using this index */
- ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]>
- sqlite3_int64 estimatedRows; /* Estimated number of rows returned */
- ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]>
- int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */
- ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]>
- sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */
- };
-
- #define SQLITE_INDEX_CONSTRAINT_EQ 2
- #define SQLITE_INDEX_CONSTRAINT_GT 4
- #define SQLITE_INDEX_CONSTRAINT_LE 8
- #define SQLITE_INDEX_CONSTRAINT_LT 16
- #define SQLITE_INDEX_CONSTRAINT_GE 32
- #define SQLITE_INDEX_CONSTRAINT_MATCH 64
- #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */
- #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */
- #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */
-
- column OP EXPR
-
- a = 5
-
- x BETWEEN 10 AND 100 AND 999>y
-
- x >= 10
- x <= 100
- y < 999
-
- FUNCTION( column, EXPR)
-
- SELECT * FROM realtab, tablevaluedfunc(realtab.x);
-
- SELECT * FROM realtab, tablevaluedfunc
- WHERE tablevaluedfunc.param1 = realtab.x;
-
- int (*xDisconnect)(sqlite3_vtab *pVTab);
-
- int (*xDestroy)(sqlite3_vtab *pVTab);
-
- int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor);
-
- int (*xClose)(sqlite3_vtab_cursor*);
-
- int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr,
- int argc, sqlite3_value **argv);
-
- int (*xNext)(sqlite3_vtab_cursor*);
-
- int (*xEof)(sqlite3_vtab_cursor*);
-
- int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N);
-
- int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid);
-
- int (*xUpdate)(
- sqlite3_vtab *pVTab,
- int argc,
- sqlite3_value **argv,
- sqlite_int64 *pRowid
- );
-
- ]]>
- ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]>
- ]]>]]>
- DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted.
- No insert occurs.
- ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]>
- ]]>]]>
- INSERT: A new row is inserted with column values taken from
- argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL,
- then a new unique rowid is generated automatically. The argv[1] will be NULL
- for a WITHOUT ROWID virtual table, in which case the implementation should
- take the PRIMARY KEY value from the appropriate column in argv[2] and following.
- ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]>
- ]]>]]>
- UPDATE:
- The row with rowid or PRIMARY KEY argv[0] is updated with new values
- in argv[2] and following parameters.
- ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]>
- ]]>]]>
- UPDATE with rowid or PRIMARY KEY change:
- The row with rowid or PRIMARY KEY argv[0] is updated with
- the rowid or PRIMARY KEY in argv[1]
- and new values in argv[2] and following parameters. This will occur
- when an SQL statement updates a rowid, as in the statement:
-
- UPDATE table SET rowid=rowid+1 WHERE ...;
-
- ]]>]]>
-
- int (*xBegin)(sqlite3_vtab *pVTab);
-
- int (*xSync)(sqlite3_vtab *pVTab);
-
- int (*xCommit)(sqlite3_vtab *pVTab);
-
- int (*xRollback)(sqlite3_vtab *pVTab);
-
- int (*xFindFunction)(
- sqlite3_vtab *pVtab,
- int nArg,
- const char *zName,
- void (**pxFunc)(sqlite3_context*,int,sqlite3_value**),
- void **ppArg
- );
-
- SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon);
-
- int (*xRename)(sqlite3_vtab *pVtab, const char *zNew);
-
- int (*xSavepoint)(sqlite3_vtab *pVtab, int);
- int (*xRelease)(sqlite3_vtab *pVtab, int);
- int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
-
- int (*xSavepoint)(sqlite3_vtab *pVtab, int);
- int (*xRelease)(sqlite3_vtab *pVtab, int);
- int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
-
- int (*xSavepoint)(sqlite3_vtab *pVtab, int);
- int (*xRelease)(sqlite3_vtab *pVtab, int);
- int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
-
- (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol)))
-
- public static class Sample
- {
- public static void Main()
- {
- using (SQLiteConnection connection = new SQLiteConnection(
- "Data Source=:memory:;"))
- {
- connection.Open();
-
- connection.CreateModule(new SQLiteModuleEnumerable(
- "sampleModule", new string[] { "one", "two", "three" }));
-
- using (SQLiteCommand command = connection.CreateCommand())
- {
- command.CommandText =
- "CREATE VIRTUAL TABLE t1 USING sampleModule;";
-
- command.ExecuteNonQuery();
- }
-
- using (SQLiteCommand command = connection.CreateCommand())
- {
- command.CommandText = "SELECT * FROM t1;";
-
- using (SQLiteDataReader dataReader = command.ExecuteReader())
- {
- while (dataReader.Read())
- Console.WriteLine(dataReader[0].ToString());
- }
- }
-
- connection.Close();
- }
- }
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Run()
- ).
-
-
-
- RunEx(0, 0, "MyUserName")
- ).
-
-
-
-
-
-
- public class Program
- {
- bool RootFolderHasTask(string taskName)
- {
- if (TaskService.Instance.RootFolder.Tasks.Count > 0)
- {
- return TaskService.Instance.RootFolder.Tasks.Exists(taskName);
- }
- return false;
- }
-
- TaskCollection GetRootTasksStartingWith(string value)
- {
- var pattern = $"^{Regex.Escape(value)}.*$";
- return TaskService.Instance.RootFolder.GetTasks(new Regex(pattern));
- }
-
- public static void Main()
- {
- foreach (var task in GetRootTasksStartingWith("MyCo"))
- if (RootFolderHasTask(task.Name))
- Console.WriteLine(task.Name);
- }
- }
-
" +
- "" +
- " " +
- " " +
- " S-1-5-18 " +
- " " +
- " " +
- " " +
- " " +
- " 2017-09-04T14:04:03 " +
- " " +
- " " +
- " " +
- " " +
- " " +
- " cmd " +
- " " +
- " " +
- " ";
- // Register the task in the root folder of the local machine using the SYSTEM account defined in XML
- TaskService.Instance.RootFolder.RegisterTaskDefinition("Test", xml);
- ]]>
-
-
-
-
-
-
-
-
- <Minute> <Hour> <Day_of_the_Month> <Month_of_the_Year> <Day_of_the_Week>
-
-
- * * * * *
- | | | | |
- | | | | +---- Day of the Week (range: 1-7, 1 standing for Monday)
- | | | +------ Month of the Year (range: 1-12)
- | | +-------- Day of the Month (range: 1-31)
- | +---------- Hour (range: 0-23)
- +------------ Minute (range: 0-59)
-
-
-
-
-
-
-
-
- ";
- eTrigger.ValueQueries.Add("Name", "Value");
- ]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [CanBeNull] object Test() => null;
-
- void UseTest() {
- var p = Test();
- var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
- }
-
- [NotNull] object Foo() {
- return null; // Warning: Possible 'null' assignment
- }
-
- [StringFormatMethod("message")]
- void ShowError(string message, params object[] args) { /* do something */ }
-
- void Foo() {
- ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
- }
-
- void Foo(string param) {
- if (param == null)
- throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
- }
-
- public class Foo : INotifyPropertyChanged {
- public event PropertyChangedEventHandler PropertyChanged;
-
- [NotifyPropertyChangedInvocator]
- protected virtual void NotifyChanged(string propertyName) { ... }
-
- string _name;
-
- public string Name {
- get { return _name; }
- set { _name = value; NotifyChanged("LastName"); /* Warning */ }
- }
- }
-
- Examples of generated notifications:
- Function Definition Table syntax:
-
- [ContractAnnotation("=> halt")]
- public void TerminationMethod()
-
- [ContractAnnotation("halt <= condition: false")]
- public void Assert(bool condition, string text) // regular assertion method
-
- [ContractAnnotation("s:null => true")]
- public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
-
- // A method that returns null if the parameter is null,
- // and not null if the parameter is not null
- [ContractAnnotation("null => null; notnull => notnull")]
- public object Transform(object data)
-
- [ContractAnnotation("=> true, result: notnull; => false, result: null")]
- public bool TryParse(string s, out Person result)
-
- [LocalizationRequiredAttribute(true)]
- class Foo {
- string str = "my string"; // Warning: Localizable string
- }
-
- [CannotApplyEqualityOperator]
- class NoEquality { }
-
- class UsesNoEquality {
- void Test() {
- var ca1 = new NoEquality();
- var ca2 = new NoEquality();
- if (ca1 != null) { // OK
- bool condition = ca1 == ca2; // Warning
- }
- }
- }
-
- [BaseTypeRequired(typeof(IComponent)] // Specify requirement
- class ComponentAttribute : Attribute { }
-
- [Component] // ComponentAttribute requires implementing IComponent interface
- class MyComponent : IComponent { }
-
- [Pure] int Multiply(int x, int y) => x * y;
-
- void M() {
- Multiply(123, 42); // Waring: Return value of pure method is not used
- }
-
- class Foo {
- [ProvidesContext] IBarService _barService = ...;
-
- void ProcessNode(INode node) {
- DoSomething(node, node.GetGlobalServices().Bar);
- // ^ Warning: use value of '_barService' field
- }
- }
-
- [SourceTemplate]
- public static void forEach<T>(this IEnumerable<T> xs) {
- foreach (var x in xs) {
- //$ $END$
- }
- }
-
-
- [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
- public static void forEach<T>(this IEnumerable<T> collection) {
- foreach (var item in collection) {
- //$ $END$
- }
- }
-
- Applying the attribute on a template method parameter:
-
- [SourceTemplate]
- public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
- /*$ var $x$Id = "$newguid$" + x.ToString();
- x.DoSomething($x$Id); */
- }
-
-
- [ActionName("Foo")]
- public ActionResult Login(string returnUrl) {
- ViewBag.ReturnUrl = Url.Action("Foo"); // OK
- return RedirectToAction("Bar"); // Error: Cannot resolve action
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Run()
- ).
-
-
-
- RunEx(0, 0, "MyUserName")
- ).
-
-
-
-
-
-
- public class Program
- {
- bool RootFolderHasTask(string taskName)
- {
- if (TaskService.Instance.RootFolder.Tasks.Count > 0)
- {
- return TaskService.Instance.RootFolder.Tasks.Exists(taskName);
- }
- return false;
- }
-
- TaskCollection GetRootTasksStartingWith(string value)
- {
- var pattern = $"^{Regex.Escape(value)}.*$";
- return TaskService.Instance.RootFolder.GetTasks(new Regex(pattern));
- }
-
- public static void Main()
- {
- foreach (var task in GetRootTasksStartingWith("MyCo"))
- if (RootFolderHasTask(task.Name))
- Console.WriteLine(task.Name);
- }
- }
-
" +
- "" +
- " " +
- " " +
- " S-1-5-18 " +
- " " +
- " " +
- " " +
- " " +
- " 2017-09-04T14:04:03 " +
- " " +
- " " +
- " " +
- " " +
- " " +
- " cmd " +
- " " +
- " " +
- " ";
- // Register the task in the root folder of the local machine using the SYSTEM account defined in XML
- TaskService.Instance.RootFolder.RegisterTaskDefinition("Test", xml);
- ]]>
-
-
-
-
-
-
-
-
- <Minute> <Hour> <Day_of_the_Month> <Month_of_the_Year> <Day_of_the_Week>
-
-
- * * * * *
- | | | | |
- | | | | +---- Day of the Week (range: 1-7, 1 standing for Monday)
- | | | +------ Month of the Year (range: 1-12)
- | | +-------- Day of the Month (range: 1-31)
- | +---------- Hour (range: 0-23)
- +------------ Minute (range: 0-59)
-
-
-
-
-
-
-
-
- ";
- eTrigger.ValueQueries.Add("Name", "Value");
- ]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [CanBeNull] object Test() => null;
-
- void UseTest() {
- var p = Test();
- var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
- }
-
- [NotNull] object Foo() {
- return null; // Warning: Possible 'null' assignment
- }
-
- [StringFormatMethod("message")]
- void ShowError(string message, params object[] args) { /* do something */ }
-
- void Foo() {
- ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
- }
-
- void Foo(string param) {
- if (param == null)
- throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
- }
-
- public class Foo : INotifyPropertyChanged {
- public event PropertyChangedEventHandler PropertyChanged;
-
- [NotifyPropertyChangedInvocator]
- protected virtual void NotifyChanged(string propertyName) { ... }
-
- string _name;
-
- public string Name {
- get { return _name; }
- set { _name = value; NotifyChanged("LastName"); /* Warning */ }
- }
- }
-
- Examples of generated notifications:
- Function Definition Table syntax:
-
- [ContractAnnotation("=> halt")]
- public void TerminationMethod()
-
- [ContractAnnotation("halt <= condition: false")]
- public void Assert(bool condition, string text) // regular assertion method
-
- [ContractAnnotation("s:null => true")]
- public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
-
- // A method that returns null if the parameter is null,
- // and not null if the parameter is not null
- [ContractAnnotation("null => null; notnull => notnull")]
- public object Transform(object data)
-
- [ContractAnnotation("=> true, result: notnull; => false, result: null")]
- public bool TryParse(string s, out Person result)
-
- [LocalizationRequiredAttribute(true)]
- class Foo {
- string str = "my string"; // Warning: Localizable string
- }
-
- [CannotApplyEqualityOperator]
- class NoEquality { }
-
- class UsesNoEquality {
- void Test() {
- var ca1 = new NoEquality();
- var ca2 = new NoEquality();
- if (ca1 != null) { // OK
- bool condition = ca1 == ca2; // Warning
- }
- }
- }
-
- [BaseTypeRequired(typeof(IComponent)] // Specify requirement
- class ComponentAttribute : Attribute { }
-
- [Component] // ComponentAttribute requires implementing IComponent interface
- class MyComponent : IComponent { }
-
- [Pure] int Multiply(int x, int y) => x * y;
-
- void M() {
- Multiply(123, 42); // Waring: Return value of pure method is not used
- }
-
- class Foo {
- [ProvidesContext] IBarService _barService = ...;
-
- void ProcessNode(INode node) {
- DoSomething(node, node.GetGlobalServices().Bar);
- // ^ Warning: use value of '_barService' field
- }
- }
-
- [SourceTemplate]
- public static void forEach<T>(this IEnumerable<T> xs) {
- foreach (var x in xs) {
- //$ $END$
- }
- }
-
-
- [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
- public static void forEach<T>(this IEnumerable<T> collection) {
- foreach (var item in collection) {
- //$ $END$
- }
- }
-
- Applying the attribute on a template method parameter:
-
- [SourceTemplate]
- public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
- /*$ var $x$Id = "$newguid$" + x.ToString();
- x.DoSomething($x$Id); */
- }
-
-
- [ActionName("Foo")]
- public ActionResult Login(string returnUrl) {
- ViewBag.ReturnUrl = Url.Action("Foo"); // OK
- return RedirectToAction("Bar"); // Error: Cannot resolve action
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Run()
- ).
-
-
-
- RunEx(0, 0, "MyUserName")
- ).
-
-
-
-
-
-
- public class Program
- {
- bool RootFolderHasTask(string taskName)
- {
- if (TaskService.Instance.RootFolder.Tasks.Count > 0)
- {
- return TaskService.Instance.RootFolder.Tasks.Exists(taskName);
- }
- return false;
- }
-
- TaskCollection GetRootTasksStartingWith(string value)
- {
- var pattern = $"^{Regex.Escape(value)}.*$";
- return TaskService.Instance.RootFolder.GetTasks(new Regex(pattern));
- }
-
- public static void Main()
- {
- foreach (var task in GetRootTasksStartingWith("MyCo"))
- if (RootFolderHasTask(task.Name))
- Console.WriteLine(task.Name);
- }
- }
-
" +
- "" +
- " " +
- " " +
- " S-1-5-18 " +
- " " +
- " " +
- " " +
- " " +
- " 2017-09-04T14:04:03 " +
- " " +
- " " +
- " " +
- " " +
- " " +
- " cmd " +
- " " +
- " " +
- " ";
- // Register the task in the root folder of the local machine using the SYSTEM account defined in XML
- TaskService.Instance.RootFolder.RegisterTaskDefinition("Test", xml);
- ]]>
-
-
-
-
-
-
-
-
- <Minute> <Hour> <Day_of_the_Month> <Month_of_the_Year> <Day_of_the_Week>
-
-
- * * * * *
- | | | | |
- | | | | +---- Day of the Week (range: 1-7, 1 standing for Monday)
- | | | +------ Month of the Year (range: 1-12)
- | | +-------- Day of the Month (range: 1-31)
- | +---------- Hour (range: 0-23)
- +------------ Minute (range: 0-59)
-
-
-
-
-
-
-
-
- ";
- eTrigger.ValueQueries.Add("Name", "Value");
- ]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [CanBeNull] object Test() => null;
-
- void UseTest() {
- var p = Test();
- var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
- }
-
- [NotNull] object Foo() {
- return null; // Warning: Possible 'null' assignment
- }
-
- [StringFormatMethod("message")]
- void ShowError(string message, params object[] args) { /* do something */ }
-
- void Foo() {
- ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
- }
-
- void Foo(string param) {
- if (param == null)
- throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
- }
-
- public class Foo : INotifyPropertyChanged {
- public event PropertyChangedEventHandler PropertyChanged;
-
- [NotifyPropertyChangedInvocator]
- protected virtual void NotifyChanged(string propertyName) { ... }
-
- string _name;
-
- public string Name {
- get { return _name; }
- set { _name = value; NotifyChanged("LastName"); /* Warning */ }
- }
- }
-
- Examples of generated notifications:
- Function Definition Table syntax:
-
- [ContractAnnotation("=> halt")]
- public void TerminationMethod()
-
- [ContractAnnotation("halt <= condition: false")]
- public void Assert(bool condition, string text) // regular assertion method
-
- [ContractAnnotation("s:null => true")]
- public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
-
- // A method that returns null if the parameter is null,
- // and not null if the parameter is not null
- [ContractAnnotation("null => null; notnull => notnull")]
- public object Transform(object data)
-
- [ContractAnnotation("=> true, result: notnull; => false, result: null")]
- public bool TryParse(string s, out Person result)
-
- [LocalizationRequiredAttribute(true)]
- class Foo {
- string str = "my string"; // Warning: Localizable string
- }
-
- [CannotApplyEqualityOperator]
- class NoEquality { }
-
- class UsesNoEquality {
- void Test() {
- var ca1 = new NoEquality();
- var ca2 = new NoEquality();
- if (ca1 != null) { // OK
- bool condition = ca1 == ca2; // Warning
- }
- }
- }
-
- [BaseTypeRequired(typeof(IComponent)] // Specify requirement
- class ComponentAttribute : Attribute { }
-
- [Component] // ComponentAttribute requires implementing IComponent interface
- class MyComponent : IComponent { }
-
- [Pure] int Multiply(int x, int y) => x * y;
-
- void M() {
- Multiply(123, 42); // Waring: Return value of pure method is not used
- }
-
- class Foo {
- [ProvidesContext] IBarService _barService = ...;
-
- void ProcessNode(INode node) {
- DoSomething(node, node.GetGlobalServices().Bar);
- // ^ Warning: use value of '_barService' field
- }
- }
-
- [SourceTemplate]
- public static void forEach<T>(this IEnumerable<T> xs) {
- foreach (var x in xs) {
- //$ $END$
- }
- }
-
-
- [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
- public static void forEach<T>(this IEnumerable<T> collection) {
- foreach (var item in collection) {
- //$ $END$
- }
- }
-
- Applying the attribute on a template method parameter:
-
- [SourceTemplate]
- public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
- /*$ var $x$Id = "$newguid$" + x.ToString();
- x.DoSomething($x$Id); */
- }
-
-
- [ActionName("Foo")]
- public ActionResult Login(string returnUrl) {
- ViewBag.ReturnUrl = Url.Action("Foo"); // OK
- return RedirectToAction("Bar"); // Error: Cannot resolve action
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Run()
- ).
-
-
-
- RunEx(0, 0, "MyUserName")
- ).
-
-
-
-
-
-
- public class Program
- {
- bool RootFolderHasTask(string taskName)
- {
- if (TaskService.Instance.RootFolder.Tasks.Count > 0)
- {
- return TaskService.Instance.RootFolder.Tasks.Exists(taskName);
- }
- return false;
- }
-
- TaskCollection GetRootTasksStartingWith(string value)
- {
- var pattern = $"^{Regex.Escape(value)}.*$";
- return TaskService.Instance.RootFolder.GetTasks(new Regex(pattern));
- }
-
- public static void Main()
- {
- foreach (var task in GetRootTasksStartingWith("MyCo"))
- if (RootFolderHasTask(task.Name))
- Console.WriteLine(task.Name);
- }
- }
-
" +
- "" +
- " " +
- " " +
- " S-1-5-18 " +
- " " +
- " " +
- " " +
- " " +
- " 2017-09-04T14:04:03 " +
- " " +
- " " +
- " " +
- " " +
- " " +
- " cmd " +
- " " +
- " " +
- " ";
- // Register the task in the root folder of the local machine using the SYSTEM account defined in XML
- TaskService.Instance.RootFolder.RegisterTaskDefinition("Test", xml);
- ]]>
-
-
-
-
-
-
-
-
- <Minute> <Hour> <Day_of_the_Month> <Month_of_the_Year> <Day_of_the_Week>
-
-
- * * * * *
- | | | | |
- | | | | +---- Day of the Week (range: 1-7, 1 standing for Monday)
- | | | +------ Month of the Year (range: 1-12)
- | | +-------- Day of the Month (range: 1-31)
- | +---------- Hour (range: 0-23)
- +------------ Minute (range: 0-59)
-
-
-
-
-
-
-
-
- ";
- eTrigger.ValueQueries.Add("Name", "Value");
- ]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [CanBeNull] object Test() => null;
-
- void UseTest() {
- var p = Test();
- var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
- }
-
- [NotNull] object Foo() {
- return null; // Warning: Possible 'null' assignment
- }
-
- [StringFormatMethod("message")]
- void ShowError(string message, params object[] args) { /* do something */ }
-
- void Foo() {
- ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
- }
-
- void Foo(string param) {
- if (param == null)
- throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
- }
-
- public class Foo : INotifyPropertyChanged {
- public event PropertyChangedEventHandler PropertyChanged;
-
- [NotifyPropertyChangedInvocator]
- protected virtual void NotifyChanged(string propertyName) { ... }
-
- string _name;
-
- public string Name {
- get { return _name; }
- set { _name = value; NotifyChanged("LastName"); /* Warning */ }
- }
- }
-
- Examples of generated notifications:
- Function Definition Table syntax:
-
- [ContractAnnotation("=> halt")]
- public void TerminationMethod()
-
- [ContractAnnotation("halt <= condition: false")]
- public void Assert(bool condition, string text) // regular assertion method
-
- [ContractAnnotation("s:null => true")]
- public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
-
- // A method that returns null if the parameter is null,
- // and not null if the parameter is not null
- [ContractAnnotation("null => null; notnull => notnull")]
- public object Transform(object data)
-
- [ContractAnnotation("=> true, result: notnull; => false, result: null")]
- public bool TryParse(string s, out Person result)
-
- [LocalizationRequiredAttribute(true)]
- class Foo {
- string str = "my string"; // Warning: Localizable string
- }
-
- [CannotApplyEqualityOperator]
- class NoEquality { }
-
- class UsesNoEquality {
- void Test() {
- var ca1 = new NoEquality();
- var ca2 = new NoEquality();
- if (ca1 != null) { // OK
- bool condition = ca1 == ca2; // Warning
- }
- }
- }
-
- [BaseTypeRequired(typeof(IComponent)] // Specify requirement
- class ComponentAttribute : Attribute { }
-
- [Component] // ComponentAttribute requires implementing IComponent interface
- class MyComponent : IComponent { }
-
- [Pure] int Multiply(int x, int y) => x * y;
-
- void M() {
- Multiply(123, 42); // Waring: Return value of pure method is not used
- }
-
- class Foo {
- [ProvidesContext] IBarService _barService = ...;
-
- void ProcessNode(INode node) {
- DoSomething(node, node.GetGlobalServices().Bar);
- // ^ Warning: use value of '_barService' field
- }
- }
-
- [SourceTemplate]
- public static void forEach<T>(this IEnumerable<T> xs) {
- foreach (var x in xs) {
- //$ $END$
- }
- }
-
-
- [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
- public static void forEach<T>(this IEnumerable<T> collection) {
- foreach (var item in collection) {
- //$ $END$
- }
- }
-
- Applying the attribute on a template method parameter:
-
- [SourceTemplate]
- public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
- /*$ var $x$Id = "$newguid$" + x.ToString();
- x.DoSomething($x$Id); */
- }
-
-
- [ActionName("Foo")]
- public ActionResult Login(string returnUrl) {
- ViewBag.ReturnUrl = Url.Action("Foo"); // OK
- return RedirectToAction("Bar"); // Error: Cannot resolve action
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Run()
- ).
-
-
-
- RunEx(0, 0, "MyUserName")
- ).
-
-
-
-
-
-
- public class Program
- {
- bool RootFolderHasTask(string taskName)
- {
- if (TaskService.Instance.RootFolder.Tasks.Count > 0)
- {
- return TaskService.Instance.RootFolder.Tasks.Exists(taskName);
- }
- return false;
- }
-
- TaskCollection GetRootTasksStartingWith(string value)
- {
- var pattern = $"^{Regex.Escape(value)}.*$";
- return TaskService.Instance.RootFolder.GetTasks(new Regex(pattern));
- }
-
- public static void Main()
- {
- foreach (var task in GetRootTasksStartingWith("MyCo"))
- if (RootFolderHasTask(task.Name))
- Console.WriteLine(task.Name);
- }
- }
-
" +
- "" +
- " " +
- " " +
- " S-1-5-18 " +
- " " +
- " " +
- " " +
- " " +
- " 2017-09-04T14:04:03 " +
- " " +
- " " +
- " " +
- " " +
- " " +
- " cmd " +
- " " +
- " " +
- " ";
- // Register the task in the root folder of the local machine using the SYSTEM account defined in XML
- TaskService.Instance.RootFolder.RegisterTaskDefinition("Test", xml);
- ]]>
-
-
-
-
-
-
-
-
- <Minute> <Hour> <Day_of_the_Month> <Month_of_the_Year> <Day_of_the_Week>
-
-
- * * * * *
- | | | | |
- | | | | +---- Day of the Week (range: 1-7, 1 standing for Monday)
- | | | +------ Month of the Year (range: 1-12)
- | | +-------- Day of the Month (range: 1-31)
- | +---------- Hour (range: 0-23)
- +------------ Minute (range: 0-59)
-
-
-
-
-
-
-
-
- ";
- eTrigger.ValueQueries.Add("Name", "Value");
- ]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [CanBeNull] object Test() => null;
-
- void UseTest() {
- var p = Test();
- var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
- }
-
- [NotNull] object Foo() {
- return null; // Warning: Possible 'null' assignment
- }
-
- [StringFormatMethod("message")]
- void ShowError(string message, params object[] args) { /* do something */ }
-
- void Foo() {
- ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
- }
-
- void Foo(string param) {
- if (param == null)
- throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
- }
-
- public class Foo : INotifyPropertyChanged {
- public event PropertyChangedEventHandler PropertyChanged;
-
- [NotifyPropertyChangedInvocator]
- protected virtual void NotifyChanged(string propertyName) { ... }
-
- string _name;
-
- public string Name {
- get { return _name; }
- set { _name = value; NotifyChanged("LastName"); /* Warning */ }
- }
- }
-
- Examples of generated notifications:
- Function Definition Table syntax:
-
- [ContractAnnotation("=> halt")]
- public void TerminationMethod()
-
- [ContractAnnotation("halt <= condition: false")]
- public void Assert(bool condition, string text) // regular assertion method
-
- [ContractAnnotation("s:null => true")]
- public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
-
- // A method that returns null if the parameter is null,
- // and not null if the parameter is not null
- [ContractAnnotation("null => null; notnull => notnull")]
- public object Transform(object data)
-
- [ContractAnnotation("=> true, result: notnull; => false, result: null")]
- public bool TryParse(string s, out Person result)
-
- [LocalizationRequiredAttribute(true)]
- class Foo {
- string str = "my string"; // Warning: Localizable string
- }
-
- [CannotApplyEqualityOperator]
- class NoEquality { }
-
- class UsesNoEquality {
- void Test() {
- var ca1 = new NoEquality();
- var ca2 = new NoEquality();
- if (ca1 != null) { // OK
- bool condition = ca1 == ca2; // Warning
- }
- }
- }
-
- [BaseTypeRequired(typeof(IComponent)] // Specify requirement
- class ComponentAttribute : Attribute { }
-
- [Component] // ComponentAttribute requires implementing IComponent interface
- class MyComponent : IComponent { }
-
- [Pure] int Multiply(int x, int y) => x * y;
-
- void M() {
- Multiply(123, 42); // Waring: Return value of pure method is not used
- }
-
- class Foo {
- [ProvidesContext] IBarService _barService = ...;
-
- void ProcessNode(INode node) {
- DoSomething(node, node.GetGlobalServices().Bar);
- // ^ Warning: use value of '_barService' field
- }
- }
-
- [SourceTemplate]
- public static void forEach<T>(this IEnumerable<T> xs) {
- foreach (var x in xs) {
- //$ $END$
- }
- }
-
-
- [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
- public static void forEach<T>(this IEnumerable<T> collection) {
- foreach (var item in collection) {
- //$ $END$
- }
- }
-
- Applying the attribute on a template method parameter:
-
- [SourceTemplate]
- public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
- /*$ var $x$Id = "$newguid$" + x.ToString();
- x.DoSomething($x$Id); */
- }
-
-
- [ActionName("Foo")]
- public ActionResult Login(string returnUrl) {
- ViewBag.ReturnUrl = Url.Action("Foo"); // OK
- return RedirectToAction("Bar"); // Error: Cannot resolve action
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Run()
- ).
-
-
-
- RunEx(0, 0, "MyUserName")
- ).
-
-
-
-
-
-
- public class Program
- {
- bool RootFolderHasTask(string taskName)
- {
- if (TaskService.Instance.RootFolder.Tasks.Count > 0)
- {
- return TaskService.Instance.RootFolder.Tasks.Exists(taskName);
- }
- return false;
- }
-
- TaskCollection GetRootTasksStartingWith(string value)
- {
- var pattern = $"^{Regex.Escape(value)}.*$";
- return TaskService.Instance.RootFolder.GetTasks(new Regex(pattern));
- }
-
- public static void Main()
- {
- foreach (var task in GetRootTasksStartingWith("MyCo"))
- if (RootFolderHasTask(task.Name))
- Console.WriteLine(task.Name);
- }
- }
-
" +
- "" +
- " " +
- " " +
- " S-1-5-18 " +
- " " +
- " " +
- " " +
- " " +
- " 2017-09-04T14:04:03 " +
- " " +
- " " +
- " " +
- " " +
- " " +
- " cmd " +
- " " +
- " " +
- " ";
- // Register the task in the root folder of the local machine using the SYSTEM account defined in XML
- TaskService.Instance.RootFolder.RegisterTaskDefinition("Test", xml);
- ]]>
-
-
-
-
-
-
-
-
- <Minute> <Hour> <Day_of_the_Month> <Month_of_the_Year> <Day_of_the_Week>
-
-
- * * * * *
- | | | | |
- | | | | +---- Day of the Week (range: 1-7, 1 standing for Monday)
- | | | +------ Month of the Year (range: 1-12)
- | | +-------- Day of the Month (range: 1-31)
- | +---------- Hour (range: 0-23)
- +------------ Minute (range: 0-59)
-
-
-
-
-
-
-
-
- ";
- eTrigger.ValueQueries.Add("Name", "Value");
- ]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [CanBeNull] object Test() => null;
-
- void UseTest() {
- var p = Test();
- var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
- }
-
- [NotNull] object Foo() {
- return null; // Warning: Possible 'null' assignment
- }
-
- [StringFormatMethod("message")]
- void ShowError(string message, params object[] args) { /* do something */ }
-
- void Foo() {
- ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
- }
-
- void Foo(string param) {
- if (param == null)
- throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
- }
-
- public class Foo : INotifyPropertyChanged {
- public event PropertyChangedEventHandler PropertyChanged;
-
- [NotifyPropertyChangedInvocator]
- protected virtual void NotifyChanged(string propertyName) { ... }
-
- string _name;
-
- public string Name {
- get { return _name; }
- set { _name = value; NotifyChanged("LastName"); /* Warning */ }
- }
- }
-
- Examples of generated notifications:
- Function Definition Table syntax:
-
- [ContractAnnotation("=> halt")]
- public void TerminationMethod()
-
- [ContractAnnotation("halt <= condition: false")]
- public void Assert(bool condition, string text) // regular assertion method
-
- [ContractAnnotation("s:null => true")]
- public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
-
- // A method that returns null if the parameter is null,
- // and not null if the parameter is not null
- [ContractAnnotation("null => null; notnull => notnull")]
- public object Transform(object data)
-
- [ContractAnnotation("=> true, result: notnull; => false, result: null")]
- public bool TryParse(string s, out Person result)
-
- [LocalizationRequiredAttribute(true)]
- class Foo {
- string str = "my string"; // Warning: Localizable string
- }
-
- [CannotApplyEqualityOperator]
- class NoEquality { }
-
- class UsesNoEquality {
- void Test() {
- var ca1 = new NoEquality();
- var ca2 = new NoEquality();
- if (ca1 != null) { // OK
- bool condition = ca1 == ca2; // Warning
- }
- }
- }
-
- [BaseTypeRequired(typeof(IComponent)] // Specify requirement
- class ComponentAttribute : Attribute { }
-
- [Component] // ComponentAttribute requires implementing IComponent interface
- class MyComponent : IComponent { }
-
- [Pure] int Multiply(int x, int y) => x * y;
-
- void M() {
- Multiply(123, 42); // Waring: Return value of pure method is not used
- }
-
- class Foo {
- [ProvidesContext] IBarService _barService = ...;
-
- void ProcessNode(INode node) {
- DoSomething(node, node.GetGlobalServices().Bar);
- // ^ Warning: use value of '_barService' field
- }
- }
-
- [SourceTemplate]
- public static void forEach<T>(this IEnumerable<T> xs) {
- foreach (var x in xs) {
- //$ $END$
- }
- }
-
-
- [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
- public static void forEach<T>(this IEnumerable<T> collection) {
- foreach (var item in collection) {
- //$ $END$
- }
- }
-
- Applying the attribute on a template method parameter:
-
- [SourceTemplate]
- public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
- /*$ var $x$Id = "$newguid$" + x.ToString();
- x.DoSomething($x$Id); */
- }
-
-
- [ActionName("Foo")]
- public ActionResult Login(string returnUrl) {
- ViewBag.ReturnUrl = Url.Action("Foo"); // OK
- return RedirectToAction("Bar"); // Error: Cannot resolve action
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Run()
- ).
-
-
-
- RunEx(0, 0, "MyUserName")
- ).
-
-
-
-
-
-
- public class Program
- {
- bool RootFolderHasTask(string taskName)
- {
- if (TaskService.Instance.RootFolder.Tasks.Count > 0)
- {
- return TaskService.Instance.RootFolder.Tasks.Exists(taskName);
- }
- return false;
- }
-
- TaskCollection GetRootTasksStartingWith(string value)
- {
- var pattern = $"^{Regex.Escape(value)}.*$";
- return TaskService.Instance.RootFolder.GetTasks(new Regex(pattern));
- }
-
- public static void Main()
- {
- foreach (var task in GetRootTasksStartingWith("MyCo"))
- if (RootFolderHasTask(task.Name))
- Console.WriteLine(task.Name);
- }
- }
-
" +
- "" +
- " " +
- " " +
- " S-1-5-18 " +
- " " +
- " " +
- " " +
- " " +
- " 2017-09-04T14:04:03 " +
- " " +
- " " +
- " " +
- " " +
- " " +
- " cmd " +
- " " +
- " " +
- " ";
- // Register the task in the root folder of the local machine using the SYSTEM account defined in XML
- TaskService.Instance.RootFolder.RegisterTaskDefinition("Test", xml);
- ]]>
-
-
-
-
-
-
-
-
- <Minute> <Hour> <Day_of_the_Month> <Month_of_the_Year> <Day_of_the_Week>
-
-
- * * * * *
- | | | | |
- | | | | +---- Day of the Week (range: 1-7, 1 standing for Monday)
- | | | +------ Month of the Year (range: 1-12)
- | | +-------- Day of the Month (range: 1-31)
- | +---------- Hour (range: 0-23)
- +------------ Minute (range: 0-59)
-
-
-
-
-
-
-
-
- ";
- eTrigger.ValueQueries.Add("Name", "Value");
- ]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [CanBeNull] object Test() => null;
-
- void UseTest() {
- var p = Test();
- var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
- }
-
- [NotNull] object Foo() {
- return null; // Warning: Possible 'null' assignment
- }
-
- [StringFormatMethod("message")]
- void ShowError(string message, params object[] args) { /* do something */ }
-
- void Foo() {
- ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
- }
-
- void Foo(string param) {
- if (param == null)
- throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
- }
-
- public class Foo : INotifyPropertyChanged {
- public event PropertyChangedEventHandler PropertyChanged;
-
- [NotifyPropertyChangedInvocator]
- protected virtual void NotifyChanged(string propertyName) { ... }
-
- string _name;
-
- public string Name {
- get { return _name; }
- set { _name = value; NotifyChanged("LastName"); /* Warning */ }
- }
- }
-
- Examples of generated notifications:
- Function Definition Table syntax:
-
- [ContractAnnotation("=> halt")]
- public void TerminationMethod()
-
- [ContractAnnotation("halt <= condition: false")]
- public void Assert(bool condition, string text) // regular assertion method
-
- [ContractAnnotation("s:null => true")]
- public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
-
- // A method that returns null if the parameter is null,
- // and not null if the parameter is not null
- [ContractAnnotation("null => null; notnull => notnull")]
- public object Transform(object data)
-
- [ContractAnnotation("=> true, result: notnull; => false, result: null")]
- public bool TryParse(string s, out Person result)
-
- [LocalizationRequiredAttribute(true)]
- class Foo {
- string str = "my string"; // Warning: Localizable string
- }
-
- [CannotApplyEqualityOperator]
- class NoEquality { }
-
- class UsesNoEquality {
- void Test() {
- var ca1 = new NoEquality();
- var ca2 = new NoEquality();
- if (ca1 != null) { // OK
- bool condition = ca1 == ca2; // Warning
- }
- }
- }
-
- [BaseTypeRequired(typeof(IComponent)] // Specify requirement
- class ComponentAttribute : Attribute { }
-
- [Component] // ComponentAttribute requires implementing IComponent interface
- class MyComponent : IComponent { }
-
- [Pure] int Multiply(int x, int y) => x * y;
-
- void M() {
- Multiply(123, 42); // Waring: Return value of pure method is not used
- }
-
- class Foo {
- [ProvidesContext] IBarService _barService = ...;
-
- void ProcessNode(INode node) {
- DoSomething(node, node.GetGlobalServices().Bar);
- // ^ Warning: use value of '_barService' field
- }
- }
-
- [SourceTemplate]
- public static void forEach<T>(this IEnumerable<T> xs) {
- foreach (var x in xs) {
- //$ $END$
- }
- }
-
-
- [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
- public static void forEach<T>(this IEnumerable<T> collection) {
- foreach (var item in collection) {
- //$ $END$
- }
- }
-
- Applying the attribute on a template method parameter:
-
- [SourceTemplate]
- public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
- /*$ var $x$Id = "$newguid$" + x.ToString();
- x.DoSomething($x$Id); */
- }
-
-
- [ActionName("Foo")]
- public ActionResult Login(string returnUrl) {
- ViewBag.ReturnUrl = Url.Action("Foo"); // OK
- return RedirectToAction("Bar"); // Error: Cannot resolve action
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Run()
- ).
-
-
-
- RunEx(0, 0, "MyUserName")
- ).
-
-
-
-
-
-
- public class Program
- {
- bool RootFolderHasTask(string taskName)
- {
- if (TaskService.Instance.RootFolder.Tasks.Count > 0)
- {
- return TaskService.Instance.RootFolder.Tasks.Exists(taskName);
- }
- return false;
- }
-
- TaskCollection GetRootTasksStartingWith(string value)
- {
- var pattern = $"^{Regex.Escape(value)}.*$";
- return TaskService.Instance.RootFolder.GetTasks(new Regex(pattern));
- }
-
- public static void Main()
- {
- foreach (var task in GetRootTasksStartingWith("MyCo"))
- if (RootFolderHasTask(task.Name))
- Console.WriteLine(task.Name);
- }
- }
-
" +
- "" +
- " " +
- " " +
- " S-1-5-18 " +
- " " +
- " " +
- " " +
- " " +
- " 2017-09-04T14:04:03 " +
- " " +
- " " +
- " " +
- " " +
- " " +
- " cmd " +
- " " +
- " " +
- " ";
- // Register the task in the root folder of the local machine using the SYSTEM account defined in XML
- TaskService.Instance.RootFolder.RegisterTaskDefinition("Test", xml);
- ]]>
-
-
-
-
-
-
-
-
- <Minute> <Hour> <Day_of_the_Month> <Month_of_the_Year> <Day_of_the_Week>
-
-
- * * * * *
- | | | | |
- | | | | +---- Day of the Week (range: 1-7, 1 standing for Monday)
- | | | +------ Month of the Year (range: 1-12)
- | | +-------- Day of the Month (range: 1-31)
- | +---------- Hour (range: 0-23)
- +------------ Minute (range: 0-59)
-
-
-
-
-
-
-
-
- ";
- eTrigger.ValueQueries.Add("Name", "Value");
- ]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [CanBeNull] object Test() => null;
-
- void UseTest() {
- var p = Test();
- var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
- }
-
- [NotNull] object Foo() {
- return null; // Warning: Possible 'null' assignment
- }
-
- [StringFormatMethod("message")]
- void ShowError(string message, params object[] args) { /* do something */ }
-
- void Foo() {
- ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
- }
-
- void Foo(string param) {
- if (param == null)
- throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
- }
-
- public class Foo : INotifyPropertyChanged {
- public event PropertyChangedEventHandler PropertyChanged;
-
- [NotifyPropertyChangedInvocator]
- protected virtual void NotifyChanged(string propertyName) { ... }
-
- string _name;
-
- public string Name {
- get { return _name; }
- set { _name = value; NotifyChanged("LastName"); /* Warning */ }
- }
- }
-
- Examples of generated notifications:
- Function Definition Table syntax:
-
- [ContractAnnotation("=> halt")]
- public void TerminationMethod()
-
- [ContractAnnotation("halt <= condition: false")]
- public void Assert(bool condition, string text) // regular assertion method
-
- [ContractAnnotation("s:null => true")]
- public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
-
- // A method that returns null if the parameter is null,
- // and not null if the parameter is not null
- [ContractAnnotation("null => null; notnull => notnull")]
- public object Transform(object data)
-
- [ContractAnnotation("=> true, result: notnull; => false, result: null")]
- public bool TryParse(string s, out Person result)
-
- [LocalizationRequiredAttribute(true)]
- class Foo {
- string str = "my string"; // Warning: Localizable string
- }
-
- [CannotApplyEqualityOperator]
- class NoEquality { }
-
- class UsesNoEquality {
- void Test() {
- var ca1 = new NoEquality();
- var ca2 = new NoEquality();
- if (ca1 != null) { // OK
- bool condition = ca1 == ca2; // Warning
- }
- }
- }
-
- [BaseTypeRequired(typeof(IComponent)] // Specify requirement
- class ComponentAttribute : Attribute { }
-
- [Component] // ComponentAttribute requires implementing IComponent interface
- class MyComponent : IComponent { }
-
- [Pure] int Multiply(int x, int y) => x * y;
-
- void M() {
- Multiply(123, 42); // Waring: Return value of pure method is not used
- }
-
- class Foo {
- [ProvidesContext] IBarService _barService = ...;
-
- void ProcessNode(INode node) {
- DoSomething(node, node.GetGlobalServices().Bar);
- // ^ Warning: use value of '_barService' field
- }
- }
-
- [SourceTemplate]
- public static void forEach<T>(this IEnumerable<T> xs) {
- foreach (var x in xs) {
- //$ $END$
- }
- }
-
-
- [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
- public static void forEach<T>(this IEnumerable<T> collection) {
- foreach (var item in collection) {
- //$ $END$
- }
- }
-
- Applying the attribute on a template method parameter:
-
- [SourceTemplate]
- public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
- /*$ var $x$Id = "$newguid$" + x.ToString();
- x.DoSomething($x$Id); */
- }
-
-
- [ActionName("Foo")]
- public ActionResult Login(string returnUrl) {
- ViewBag.ReturnUrl = Url.Action("Foo"); // OK
- return RedirectToAction("Bar"); // Error: Cannot resolve action
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Run()
- ).
-
-
-
- RunEx(0, 0, "MyUserName")
- ).
-
-
-
-
-
-
- public class Program
- {
- bool RootFolderHasTask(string taskName)
- {
- if (TaskService.Instance.RootFolder.Tasks.Count > 0)
- {
- return TaskService.Instance.RootFolder.Tasks.Exists(taskName);
- }
- return false;
- }
-
- TaskCollection GetRootTasksStartingWith(string value)
- {
- var pattern = $"^{Regex.Escape(value)}.*$";
- return TaskService.Instance.RootFolder.GetTasks(new Regex(pattern));
- }
-
- public static void Main()
- {
- foreach (var task in GetRootTasksStartingWith("MyCo"))
- if (RootFolderHasTask(task.Name))
- Console.WriteLine(task.Name);
- }
- }
-
" +
- "" +
- " " +
- " " +
- " S-1-5-18 " +
- " " +
- " " +
- " " +
- " " +
- " 2017-09-04T14:04:03 " +
- " " +
- " " +
- " " +
- " " +
- " " +
- " cmd " +
- " " +
- " " +
- " ";
- // Register the task in the root folder of the local machine using the SYSTEM account defined in XML
- TaskService.Instance.RootFolder.RegisterTaskDefinition("Test", xml);
- ]]>
-
-
-
-
-
-
-
-
- <Minute> <Hour> <Day_of_the_Month> <Month_of_the_Year> <Day_of_the_Week>
-
-
- * * * * *
- | | | | |
- | | | | +---- Day of the Week (range: 1-7, 1 standing for Monday)
- | | | +------ Month of the Year (range: 1-12)
- | | +-------- Day of the Month (range: 1-31)
- | +---------- Hour (range: 0-23)
- +------------ Minute (range: 0-59)
-
-
-
-
-
-
-
-
- ";
- eTrigger.ValueQueries.Add("Name", "Value");
- ]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [CanBeNull] object Test() => null;
-
- void UseTest() {
- var p = Test();
- var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
- }
-
- [NotNull] object Foo() {
- return null; // Warning: Possible 'null' assignment
- }
-
- [StringFormatMethod("message")]
- void ShowError(string message, params object[] args) { /* do something */ }
-
- void Foo() {
- ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
- }
-
- void Foo(string param) {
- if (param == null)
- throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
- }
-
- public class Foo : INotifyPropertyChanged {
- public event PropertyChangedEventHandler PropertyChanged;
-
- [NotifyPropertyChangedInvocator]
- protected virtual void NotifyChanged(string propertyName) { ... }
-
- string _name;
-
- public string Name {
- get { return _name; }
- set { _name = value; NotifyChanged("LastName"); /* Warning */ }
- }
- }
-
- Examples of generated notifications:
- Function Definition Table syntax:
-
- [ContractAnnotation("=> halt")]
- public void TerminationMethod()
-
- [ContractAnnotation("halt <= condition: false")]
- public void Assert(bool condition, string text) // regular assertion method
-
- [ContractAnnotation("s:null => true")]
- public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
-
- // A method that returns null if the parameter is null,
- // and not null if the parameter is not null
- [ContractAnnotation("null => null; notnull => notnull")]
- public object Transform(object data)
-
- [ContractAnnotation("=> true, result: notnull; => false, result: null")]
- public bool TryParse(string s, out Person result)
-
- [LocalizationRequiredAttribute(true)]
- class Foo {
- string str = "my string"; // Warning: Localizable string
- }
-
- [CannotApplyEqualityOperator]
- class NoEquality { }
-
- class UsesNoEquality {
- void Test() {
- var ca1 = new NoEquality();
- var ca2 = new NoEquality();
- if (ca1 != null) { // OK
- bool condition = ca1 == ca2; // Warning
- }
- }
- }
-
- [BaseTypeRequired(typeof(IComponent)] // Specify requirement
- class ComponentAttribute : Attribute { }
-
- [Component] // ComponentAttribute requires implementing IComponent interface
- class MyComponent : IComponent { }
-
- [Pure] int Multiply(int x, int y) => x * y;
-
- void M() {
- Multiply(123, 42); // Waring: Return value of pure method is not used
- }
-
- class Foo {
- [ProvidesContext] IBarService _barService = ...;
-
- void ProcessNode(INode node) {
- DoSomething(node, node.GetGlobalServices().Bar);
- // ^ Warning: use value of '_barService' field
- }
- }
-
- [SourceTemplate]
- public static void forEach<T>(this IEnumerable<T> xs) {
- foreach (var x in xs) {
- //$ $END$
- }
- }
-
-
- [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
- public static void forEach<T>(this IEnumerable<T> collection) {
- foreach (var item in collection) {
- //$ $END$
- }
- }
-
- Applying the attribute on a template method parameter:
-
- [SourceTemplate]
- public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
- /*$ var $x$Id = "$newguid$" + x.ToString();
- x.DoSomething($x$Id); */
- }
-
-
- [ActionName("Foo")]
- public ActionResult Login(string returnUrl) {
- ViewBag.ReturnUrl = Url.Action("Foo"); // OK
- return RedirectToAction("Bar"); // Error: Cannot resolve action
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Run()
- ).
-
-
-
- RunEx(0, 0, "MyUserName")
- ).
-
-
-
-
-
-
- public class Program
- {
- bool RootFolderHasTask(string taskName)
- {
- if (TaskService.Instance.RootFolder.Tasks.Count > 0)
- {
- return TaskService.Instance.RootFolder.Tasks.Exists(taskName);
- }
- return false;
- }
-
- TaskCollection GetRootTasksStartingWith(string value)
- {
- var pattern = $"^{Regex.Escape(value)}.*$";
- return TaskService.Instance.RootFolder.GetTasks(new Regex(pattern));
- }
-
- public static void Main()
- {
- foreach (var task in GetRootTasksStartingWith("MyCo"))
- if (RootFolderHasTask(task.Name))
- Console.WriteLine(task.Name);
- }
- }
-
" +
- "" +
- " " +
- " " +
- " S-1-5-18 " +
- " " +
- " " +
- " " +
- " " +
- " 2017-09-04T14:04:03 " +
- " " +
- " " +
- " " +
- " " +
- " " +
- " cmd " +
- " " +
- " " +
- " ";
- // Register the task in the root folder of the local machine using the SYSTEM account defined in XML
- TaskService.Instance.RootFolder.RegisterTaskDefinition("Test", xml);
- ]]>
-
-
-
-
-
-
-
-
- <Minute> <Hour> <Day_of_the_Month> <Month_of_the_Year> <Day_of_the_Week>
-
-
- * * * * *
- | | | | |
- | | | | +---- Day of the Week (range: 1-7, 1 standing for Monday)
- | | | +------ Month of the Year (range: 1-12)
- | | +-------- Day of the Month (range: 1-31)
- | +---------- Hour (range: 0-23)
- +------------ Minute (range: 0-59)
-
-
-
-
-
-
-
-
- ";
- eTrigger.ValueQueries.Add("Name", "Value");
- ]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [CanBeNull] object Test() => null;
-
- void UseTest() {
- var p = Test();
- var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
- }
-
- [NotNull] object Foo() {
- return null; // Warning: Possible 'null' assignment
- }
-
- [StringFormatMethod("message")]
- void ShowError(string message, params object[] args) { /* do something */ }
-
- void Foo() {
- ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
- }
-
- void Foo(string param) {
- if (param == null)
- throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
- }
-
- public class Foo : INotifyPropertyChanged {
- public event PropertyChangedEventHandler PropertyChanged;
-
- [NotifyPropertyChangedInvocator]
- protected virtual void NotifyChanged(string propertyName) { ... }
-
- string _name;
-
- public string Name {
- get { return _name; }
- set { _name = value; NotifyChanged("LastName"); /* Warning */ }
- }
- }
-
- Examples of generated notifications:
- Function Definition Table syntax:
-
- [ContractAnnotation("=> halt")]
- public void TerminationMethod()
-
- [ContractAnnotation("halt <= condition: false")]
- public void Assert(bool condition, string text) // regular assertion method
-
- [ContractAnnotation("s:null => true")]
- public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
-
- // A method that returns null if the parameter is null,
- // and not null if the parameter is not null
- [ContractAnnotation("null => null; notnull => notnull")]
- public object Transform(object data)
-
- [ContractAnnotation("=> true, result: notnull; => false, result: null")]
- public bool TryParse(string s, out Person result)
-
- [LocalizationRequiredAttribute(true)]
- class Foo {
- string str = "my string"; // Warning: Localizable string
- }
-
- [CannotApplyEqualityOperator]
- class NoEquality { }
-
- class UsesNoEquality {
- void Test() {
- var ca1 = new NoEquality();
- var ca2 = new NoEquality();
- if (ca1 != null) { // OK
- bool condition = ca1 == ca2; // Warning
- }
- }
- }
-
- [BaseTypeRequired(typeof(IComponent)] // Specify requirement
- class ComponentAttribute : Attribute { }
-
- [Component] // ComponentAttribute requires implementing IComponent interface
- class MyComponent : IComponent { }
-
- [Pure] int Multiply(int x, int y) => x * y;
-
- void M() {
- Multiply(123, 42); // Waring: Return value of pure method is not used
- }
-
- class Foo {
- [ProvidesContext] IBarService _barService = ...;
-
- void ProcessNode(INode node) {
- DoSomething(node, node.GetGlobalServices().Bar);
- // ^ Warning: use value of '_barService' field
- }
- }
-
- [SourceTemplate]
- public static void forEach<T>(this IEnumerable<T> xs) {
- foreach (var x in xs) {
- //$ $END$
- }
- }
-
-
- [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
- public static void forEach<T>(this IEnumerable<T> collection) {
- foreach (var item in collection) {
- //$ $END$
- }
- }
-
- Applying the attribute on a template method parameter:
-
- [SourceTemplate]
- public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
- /*$ var $x$Id = "$newguid$" + x.ToString();
- x.DoSomething($x$Id); */
- }
-
-
- [ActionName("Foo")]
- public ActionResult Login(string returnUrl) {
- ViewBag.ReturnUrl = Url.Action("Foo"); // OK
- return RedirectToAction("Bar"); // Error: Cannot resolve action
- }
-