[
https://issues.apache.org/jira/browse/TINKERPOP-1552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16042373#comment-16042373
]
ASF GitHub Bot commented on TINKERPOP-1552:
-------------------------------------------
GitHub user jorgebay opened a pull request:
https://github.com/apache/tinkerpop/pull/620
TINKERPOP-1552 C# GLV: Generics and enum generation
Added type safety to traversal interface. For example:
```csharp
Vertex vertex = g.V().Next();
// Compile time error
Edge edge = g.V().Next();
```
As C# generics is more strict than in Java, some methods require the user
to specify the expected type:
```csharp
// Specify the type of the value of the property "age"
IList<int> userAgeList = g.V().HasLabel("user").Values<int>("age").ToList();
```
Additionally, I've changed the letter case of the enums generated in C# to
match the C# naming convention, ie:
`g.V().Values<int>("age").Order().By(Order.Decr)`
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/jorgebay/tinkerpop csharp-glv-generics
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/tinkerpop/pull/620.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #620
----
commit 027524afce7fd239cc7db600ba1fd0b5f005e46e
Author: Jorge Bay Gondra <[email protected]>
Date: 2017-05-31T15:19:55Z
C# GLV: Generics and enum generation
----
> C# Gremlin Language Variant
> ---------------------------
>
> Key: TINKERPOP-1552
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1552
> Project: TinkerPop
> Issue Type: Improvement
> Components: language-variant
> Affects Versions: 3.2.3
> Reporter: Jorge Bay
> Assignee: stephen mallette
>
> It would be nice to have a C# GLV that runs under .NET Framework 4.5+ and
> .NET Core.
> The maven build could use the Exec Maven Plugin to exec .NET Core's [dotnet
> test|https://www.microsoft.com/net/core#macos] command.
> Some requirements, from the mailing list (edited):
> {quote}
> 1. The GLV should keep in line with class/method names of the java API
> where possible to ensure consistency of feel across languages.
> 2. There needs to be adequate tests (we're still discussing the approach to
> testing GLVs and i think that needs to be tackled sooner than later as more
> GLVs start to come in). Those tests should produce xunit style output
> unless there is some good reason not to.
> 3. There needs to be adequate documentation (e.g. Reference docs)
> 4. The build/deploy process needs to be bound to maven which might be one of
> the trickier bits to deal with.
> {quote}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)