本文整理汇总了C#中Dynamo.Nodes.List类的典型用法代码示例。如果您正苦于以下问题:C# List类的具体用法?C# List怎么用?C# List使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
List类属于Dynamo.Nodes命名空间,在下文中一共展示了List类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ZeroTouchSearchElement
public ZeroTouchSearchElement(FunctionDescriptor functionDescriptor)
{
this.functionDescriptor = functionDescriptor;
var displayName = functionDescriptor.UserFriendlyName;
if (functionDescriptor.IsOverloaded)
displayName += "(" + string.Join(", ", functionDescriptor.Parameters) + ")";
Name = displayName;
UserFriendlyName = functionDescriptor.UserFriendlyName;
FullCategoryName = functionDescriptor.Category;
Description = functionDescriptor.Description;
Assembly = functionDescriptor.Assembly;
ElementType = ElementTypes.ZeroTouch;
if (functionDescriptor.IsBuiltIn)
ElementType |= ElementTypes.BuiltIn;
// Assembly, that is located in package directory, considered as part of package.
if (Assembly.StartsWith(functionDescriptor.PathManager.PackagesDirectory))
ElementType |= ElementTypes.Packaged;
inputParameters = new List<Tuple<string, string>>(functionDescriptor.InputParameters);
outputParameters = new List<string>() { functionDescriptor.ReturnType };
foreach (var tag in functionDescriptor.GetSearchTags())
SearchKeywords.Add(tag);
iconName = GetIconName();
}
示例2: CompileFunction
public static FScheme.Expression CompileFunction( FunctionDefinition definition )
{
IEnumerable<string> ins = new List<string>();
IEnumerable<string> outs = new List<string>();
return CompileFunction(definition, ref ins, ref outs);
}
示例3: BuildAst
internal override IEnumerable<AssociativeNode> BuildAst(List<AssociativeNode> inputAstNodes, CompilationContext context)
{
var rhs = AstFactory.BuildStringNode(Value);
var assignment = AstFactory.BuildAssignment(GetAstIdentifierForOutputIndex(0), rhs);
return new[] { assignment };
}
示例4: CreateOutputAST
protected AssociativeNode CreateOutputAST(
AssociativeNode codeInputNode, List<AssociativeNode> inputAstNodes,
List<Tuple<string, AssociativeNode>> additionalBindings)
{
var names =
additionalBindings.Select(
x => AstFactory.BuildStringNode(x.Item1) as AssociativeNode).ToList();
names.Add(AstFactory.BuildStringNode("IN"));
var vals = additionalBindings.Select(x => x.Item2).ToList();
vals.Add(AstFactory.BuildExprList(inputAstNodes));
Func<string, IList, IList, object> backendMethod =
IronPythonEvaluator.EvaluateIronPythonScript;
return AstFactory.BuildAssignment(
GetAstIdentifierForOutputIndex(0),
AstFactory.BuildFunctionCall(
backendMethod,
new List<AssociativeNode>
{
codeInputNode,
AstFactory.BuildExprList(names),
AstFactory.BuildExprList(vals)
}));
}
示例5: BuildOutputAst
public override IEnumerable<AssociativeNode> BuildOutputAst(List<AssociativeNode> inputAstNodes)
{
AssociativeNode rhs = null;
if (IsPartiallyApplied)
{
var connectedInputs = new List<AssociativeNode>();
var functionNode = new IdentifierNode(functionName);
var paramNumNode = new IntNode(1);
var positionNode = AstFactory.BuildExprList(connectedInputs);
var arguments = AstFactory.BuildExprList(inputAstNodes);
var inputParams = new List<AssociativeNode>
{
functionNode,
paramNumNode,
positionNode,
arguments,
AstFactory.BuildBooleanNode(true)
};
rhs = AstFactory.BuildFunctionCall("_SingleFunctionObject", inputParams);
}
else
{
rhs = AstFactory.BuildFunctionCall(functionName, inputAstNodes);
}
return new[]
{
AstFactory.BuildAssignment(GetAstIdentifierForOutputIndex(0), rhs)
};
}
示例6: Evaluate
public override FScheme.Value Evaluate(FSharpList<FScheme.Value> args)
{
var worksheet = (Microsoft.Office.Interop.Excel.Worksheet)((FScheme.Value.Container)args[0]).Item;
Microsoft.Office.Interop.Excel.Range range = worksheet.UsedRange;
int rows = range.Rows.Count;
int cols = range.Columns.Count;
var rowData = new List<FScheme.Value>();
for (int r = 1; r <= rows; r++)
{
var row = new List<FScheme.Value>();
for (int c = 1; c <= cols; c++)
{
row.Add(FScheme.Value.NewContainer(range.Cells[r, c].Value2));
}
rowData.Add(FScheme.Value.NewList(Utils.SequenceToFSharpList(row)));
}
return FScheme.Value.NewList(Utils.SequenceToFSharpList(rowData));
}
示例7: PopulateItems
public override void PopulateItems()
{
// The Items collection contains the elements
// that appear in the list. For this example, we
// clear the list before adding new items, but you
// can also use the PopulateItems method to add items
// to the list.
Items.Clear();
// Create a number of DynamoDropDownItem objects
// to store the items that we want to appear in our list.
var newItems = new List<DynamoDropDownItem>()
{
new DynamoDropDownItem("Tywin", 0),
new DynamoDropDownItem("Cersei", 1),
new DynamoDropDownItem("Hodor",2)
};
Items.AddRange(newItems);
// Set the selected index to something other
// than -1, the default, so that your list
// has a pre-selection.
SelectedIndex = 0;
}
示例8: Collect
/// <summary>
/// Get all of the dependencies from a workspace
/// </summary>
/// <param name="workspace">The workspace to read the dependencies from</param>
/// <param name="customNodeManager">A custom node manager to look up dependencies</param>
/// <returns>A WorkspaceDependencies object containing the workspace and its CustomNodeWorkspaceModel dependencies</returns>
public static WorkspaceDependencies Collect(HomeWorkspaceModel workspace, ICustomNodeManager customNodeManager)
{
if (workspace == null) throw new ArgumentNullException("workspace");
if (customNodeManager == null) throw new ArgumentNullException("customNodeManager");
// collect all dependencies
var dependencies = new HashSet<CustomNodeDefinition>();
foreach (var node in workspace.Nodes.OfType<Function>())
{
dependencies.Add(node.Definition);
foreach (var dep in node.Definition.Dependencies)
{
dependencies.Add(dep);
}
}
var customNodeWorkspaces = new List<ICustomNodeWorkspaceModel>();
foreach (var dependency in dependencies)
{
ICustomNodeWorkspaceModel customNodeWs;
var workspaceExists = customNodeManager.TryGetFunctionWorkspace(dependency.FunctionId, false, out customNodeWs);
if (!workspaceExists)
{
throw new InvalidOperationException(String.Format(Resources.CustomNodeDefinitionNotFoundErrorMessage, dependency.FunctionName));
}
if (!customNodeWorkspaces.Contains(customNodeWs))
{
customNodeWorkspaces.Add(customNodeWs);
}
}
return new WorkspaceDependencies(workspace, customNodeWorkspaces);
}
示例9: PresetModel
/// <summary>
/// create a new presetsState, this will serialize all the referenced nodes by calling their serialize method,
/// the resulting XML elements will be used to save this state when the presetModel is saved on workspace save
/// </summary>
/// <param name="name">name for the state, must not be null </param>
/// <param name="description">description of the state, can be null</param>
/// <param name="inputsToSave">set of nodeModels, must not be null</param>
/// <param name="id">an id GUID, can be empty GUID</param>
public PresetModel(string name, string description, IEnumerable<NodeModel> inputsToSave):base()
{
if (String.IsNullOrEmpty(name))
{
throw new ArgumentNullException("name");
}
if (inputsToSave == null || inputsToSave.Count() < 1)
{
throw new ArgumentNullException("inputsToSave");
}
Name = name;
Description = description;
nodes = inputsToSave.ToList();
var tempdoc = new XmlDocument();
serializedNodes = new List<XmlElement>();
foreach (var node in Nodes)
{
serializedNodes.Add(node.Serialize(tempdoc, SaveContext.Preset));
}
}
示例10: DemandToCapacityMultiple
public static Dictionary<string, object> DemandToCapacityMultiple(List<double> DCRs)
{
double DCR_min = 0.0;
double DCR_max = 0.0;
//if (DCRs is List<double>)
//{
List<double> DCRflat = DCRs as List<double>;
DCR_min = DCRflat.Where(dc => dc > 0).Min();
DCR_max = DCRflat.Where(dc => dc > 0).Max();
//}
//else if (DCRs is List<List<double>>)
//{
// List<List<double>> DCR2d = DCRs as List<List<double>>;
// DCR_min = DCR2d.SelectMany(i => i).Where(dc => dc >= 0).Min();
//}
return new Dictionary<string, object>
{
{ "DCR_min", DCR_min },
{ "DCR_max", DCR_max }
};
}
示例11: Evaluate
public override Value Evaluate(FSharpList<Value> args)
{
CurveLoop firstLoop = (CurveLoop)((Value.Container)args[0]).Item;
CurveLoop secondLoop = (CurveLoop)((Value.Container)args[1]).Item;
List<VertexPair> vertPairs = null;
if (dynRevitSettings.Revit.Application.VersionName.Contains("2013"))
{
vertPairs = new List<VertexPair>();
int i = 0;
int nCurves1 = firstLoop.Count();
int nCurves2 = secondLoop.Count();
for (; i < nCurves1 && i < nCurves2; i++)
{
vertPairs.Add(new VertexPair(i, i));
}
}
var result = GeometryCreationUtilities.CreateBlendGeometry(firstLoop, secondLoop, vertPairs);
solids.Add(result);
return Value.NewContainer(result);
}
示例12: BuildOutputAst
public override IEnumerable<AssociativeNode> BuildOutputAst(
List<AssociativeNode> inputAstNodes)
{
if (IsPartiallyApplied)
{
return new[]
{
AstFactory.BuildAssignment(
GetAstIdentifierForOutputIndex(0),
AstFactory.BuildFunctionObject(
new IdentifierListNode
{
LeftNode = AstFactory.BuildIdentifier("DataBridge"),
RightNode = AstFactory.BuildIdentifier("BridgeData")
},
2,
new[] { 0 },
new List<AssociativeNode>
{
AstFactory.BuildStringNode(GUID.ToString()),
AstFactory.BuildNullNode()
}))
};
}
var resultAst = new[]
{
AstFactory.BuildAssignment(
AstFactory.BuildIdentifier(AstIdentifierBase + "_dummy"),
DataBridge.GenerateBridgeDataAst(GUID.ToString(), inputAstNodes[0])),
AstFactory.BuildAssignment(GetAstIdentifierForOutputIndex(0), inputAstNodes[0])
};
return resultAst;
}
示例13: PackageManagerClientViewModel
public PackageManagerClientViewModel(DynamoViewModel dynamoViewModel, PackageManagerClient packageManagerClient )
{
this.dynamoViewModel = dynamoViewModel;
this.packageManagerClient = packageManagerClient;
this.CachedPackageList = new List<PackageManagerSearchElement>();
this.packageManagerClient.RequestAuthentication +=
dynamoViewModel.OnRequestAuthentication;
}
示例14: BuildOutputAst
public override IEnumerable<AssociativeNode> BuildOutputAst(List<AssociativeNode> inputAstNodes)
{
RequiresRecalc = true;
var functionCall = AstFactory.BuildFunctionCall(new Func<string, string>(Web.WebRequestByUrl), inputAstNodes);
return new[] {AstFactory.BuildAssignment(GetAstIdentifierForOutputIndex(0), functionCall)};
}
示例15: ZeroTouchSearchElement
public ZeroTouchSearchElement(FunctionDescriptor functionDescriptor)
{
this.functionDescriptor = functionDescriptor;
var displayName = functionDescriptor.UserFriendlyName;
if (functionDescriptor.IsOverloaded)
displayName += "(" + string.Join(", ", functionDescriptor.Parameters) + ")";
Name = displayName;
UserFriendlyName = functionDescriptor.UserFriendlyName;
FullCategoryName = functionDescriptor.Category;
Description = functionDescriptor.Description;
Assembly = functionDescriptor.Assembly;
ElementType = ElementTypes.ZeroTouch;
if (functionDescriptor.IsBuiltIn)
ElementType |= ElementTypes.BuiltIn;
// Assembly, that is located in package directory, considered as part of package.
var packageDirectories = functionDescriptor.PathManager.PackagesDirectories;
if (packageDirectories.Any(directory => Assembly.StartsWith(directory)))
ElementType |= ElementTypes.Packaged;
inputParameters = new List<Tuple<string, string>>(functionDescriptor.InputParameters);
outputParameters = new List<string>() { functionDescriptor.ReturnType };
foreach (var tag in functionDescriptor.GetSearchTags())
SearchKeywords.Add(tag);
var weights = functionDescriptor.GetSearchTagWeights();
foreach (var weight in weights)
{
// Search tag weight can't be more then 1.
if (weight <= 1)
keywordWeights.Add(weight);
}
int weightsCount = weights.Count();
// If there weren't added weights for search tags, then add default value - 0.5
if (weightsCount != SearchKeywords.Count)
{
int numberOfLackingWeights = SearchKeywords.Count - weightsCount;
// Number of lacking weights should be more than 0.
// It can be less then 0 only if there was some mistake in xml file.
if (numberOfLackingWeights > 0)
{
for (int i = 0; i < numberOfLackingWeights; i++)
{
keywordWeights.Add(0.5);
}
}
}
iconName = GetIconName();
}