标签: dynamic

动态设置局部变量

你如何在Python中动态设置局部变量?

(变量名称是动态的)

更新:我知道这不是一个好的做法,而且这些言论是合法的,但这不是一个坏问题,只是一个更理论的问题 - 我不明白为什么这证明了这一点.

python dynamic

97
推荐指数
3
解决办法
6万
查看次数

为什么这个(null ||!TryParse)条件导致"使用未分配的局部变量"?

以下代码导致使用未分配的局部变量"numberOfGroups":

int numberOfGroups;
if(options.NumberOfGroups == null || !int.TryParse(options.NumberOfGroups, out numberOfGroups))
{
    numberOfGroups = 10;
}
Run Code Online (Sandbox Code Playgroud)

但是,这段代码工作正常(但ReSharper说这= 10是多余的):

int numberOfGroups = 10;
if(options.NumberOfGroups == null || !int.TryParse(options.NumberOfGroups, out numberOfGroups))
{
    numberOfGroups = 10;
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么,还是编译器不喜欢我||

我把它缩小到dynamic导致问题(options在上面的代码中是一个动态变量).问题仍然存在,为什么我不能这样做

此代码无法编译:

internal class Program
{
    #region Static Methods

    private static void Main(string[] args)
    {
        dynamic myString = args[0];

        int myInt;
        if(myString == null || !int.TryParse(myString, out myInt))
        {
            myInt …
Run Code Online (Sandbox Code Playgroud)

c# compiler-construction cil dynamic c#-4.0

96
推荐指数
3
解决办法
2628
查看次数

如何在Javascript中调用动态命名的方法?

我正在努力动态创建一些Javascript,它将在构建时插入到网页中.

Javascript将用于根据另一个列表框中的选择填充列表框.当选择一个列表框时,它将根据列表框的选定值调用方法名称.

例如:

Listbox1包含:

颜色
形状

如果选择"颜色",则会调用填充另一个列表框的"populate_Colours"方法.
澄清我的问题:如何在Javascript中进行"populate_Colours"调用?

javascript methods dynamic

95
推荐指数
6
解决办法
11万
查看次数

如何根据名称动态调用方法?

当名称包含在字符串变量中时,如何动态调用方法?例如:

class MyClass
  def foo; end
  def bar; end
end

obj = MyClass.new
str = get_data_from_user  # e.g. `gets`, `params`, DB access, etc.
str  #=> "foo"
# somehow call `foo` on `obj` using the value in `str`.
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?这样做是否存在安全风险?

ruby metaprogramming dynamic

94
推荐指数
5
解决办法
7万
查看次数

如何使用Objective-C在运行时动态创建选择器?

我知道如何SEL在编译时使用,@selector(MyMethodName:)但我想要做的是从动态创建一个选择器NSString.这甚至可能吗?

我可以做什么:

SEL selector = @selector(doWork:);
[myobj respondsToSelector:selector];
Run Code Online (Sandbox Code Playgroud)

我想做什么:(伪代码,这显然不起作用)

SEL selector = selectorFromString(@"doWork");
[myobj respondsToSelector:selector];
Run Code Online (Sandbox Code Playgroud)

我一直在搜索Apple API文档,但还没有找到一种不依赖于编译时@selector(myTarget:)语法的方法.

cocoa dynamic objective-c

93
推荐指数
4
解决办法
5万
查看次数

扩展方法和动态对象

我将把我的问题总结为以下代码片段.

List<int> list = new List<int>() { 5, 56, 2, 4, 63, 2 };
Console.WriteLine(list.First());
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常.

现在我尝试了以下内容

dynamic dList = list;
 Console.WriteLine(dList.First());
Run Code Online (Sandbox Code Playgroud)

但是我得到了RuntimeBinderException.为什么会这样?

c# dynamic c#-4.0

93
推荐指数
3
解决办法
2万
查看次数

动态SQL - EXEC(@SQL)与EXEC SP_EXECUTESQL(@SQL)

在SQL Server中使用存储过程执行动态SQL命令的真实优点和缺点是什么?

EXEC (@SQL)
Run Code Online (Sandbox Code Playgroud)

EXEC SP_EXECUTESQL @SQL
Run Code Online (Sandbox Code Playgroud)

sql sql-server dynamic

90
推荐指数
3
解决办法
20万
查看次数

C#'dynamic'无法访问另一个程序集中声明的匿名类型的属性

只要我在班级和班级ClassSameAssembly相同的班级中,下面的代码就能正常运行Program.但是当我将类移动ClassSameAssembly到一个单独的程序集时,RuntimeBinderException会抛出一个(见下文).有可能解决它吗?

using System;

namespace ConsoleApplication2
{
    public static class ClassSameAssembly
    {
        public static dynamic GetValues()
        {
            return new
            {
                Name = "Michael", Age = 20
            };
        }
    }

    internal class Program
    {
        private static void Main(string[] args)
        {
            var d = ClassSameAssembly.GetValues();
            Console.WriteLine("{0} is {1} years old", d.Name, d.Age);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:'object'不包含'Name'的定义

at CallSite.Target(Closure , CallSite , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
at ConsoleApplication2.Program.Main(String[] args) in C:\temp\Projects\ConsoleApplication2\ConsoleApplication2\Program.cs:line …
Run Code Online (Sandbox Code Playgroud)

dynamic anonymous-types c#-4.0

85
推荐指数
3
解决办法
3万
查看次数

Javascript从字符串动态调用对象方法

我可以动态调用方法名称为字符串的对象方法吗?我会想象它是这样的:

var FooClass = function() {
    this.smile = function() {};
}

var method = "smile";
var foo = new FooClass();

// I want to run smile on the foo instance.
foo.{mysterious code}(); // being executed as foo.smile();
Run Code Online (Sandbox Code Playgroud)

javascript oop methods dynamic invoke

85
推荐指数
4
解决办法
5万
查看次数

在运行时动态添加C#属性

我知道有一些问题可以解决这个问题,但答案通常遵循推荐字典或参数集合的方式,这在我的情况下不起作用.

我正在使用一个通过反射工作的库,用具有属性的对象做很多聪明的事情.这适用于已定义的类以及动态类.我需要更进一步,按照这些方针做一些事情:

public static object GetDynamicObject(Dictionary<string,object> properties) {
    var myObject = new object();
    foreach (var property in properties) {
        //This next line obviously doesn't work... 
        myObject.AddProperty(property.Key,property.Value);
    }
    return myObject;
}

public void Main() {
    var properties = new Dictionary<string,object>();
    properties.Add("Property1",aCustomClassInstance);
    properties.Add("Property2","TestString2");

    var myObject = GetDynamicObject(properties);

    //Then use them like this (or rather the plug in uses them through reflection)
    var customClass = myObject.Property1;
    var myString = myObject.Property2;

}
Run Code Online (Sandbox Code Playgroud)

该库适用于动态变量类型,手动分配属性.但是我不知道预先添加了多少或哪些属性.

c# reflection properties dynamic

81
推荐指数
3
解决办法
15万
查看次数