我有以下内容
public interface IAwesomeInterface
{
string Prop1 {get; set;}
string Prop2 {get; set;}
List<SomeObject> GetObjects();
}
public abstract class AbstractObject : IAwesomeInterface
{
public string Prop1 {get; set;}
public string Prop2 {get; set;}
public abstract List<SomeObject> GetObjects();
}
public class ConcreteObject1 : AbstractObject
{
public List<SomeObject> GetObjects()
{
return new List<SomeObject>();
}
}
public class ConcreteObject2 : AbstractObject
{
public List<SomeObject> GetObject()
{
//do some other stuff
return new List<SomeObject>();
}
}
Run Code Online (Sandbox Code Playgroud)
并实施:
public class ObjectFactory
{
public IAwesomeInterface GetObject() …Run Code Online (Sandbox Code Playgroud) 我想得到一个类中所有变量的数组,包括私有变量,而不必实例化该对象.我知道php的get_class_vars(),但它只显示范围内的变量.我从类外面调用它,所以隐藏了所有私有变量.
我的目的是创建一个包含列出的每个对象的所有变量的页面,我不想实例化每个对象,因为它们都需要不同的标识符来实例化,我希望避免将一堆id传递给如果可能的话.
请注意,变量的值不重要,我只想要变量名.
我有以下代码迭代字典,如果键没有值,它会检查另一个字典的值并分配它.我继续得到以下异常.
- $exception {"Collection was modified; enumeration operation may not execute."} System.Exception {System.InvalidOperationException}
foreach (KeyValuePair<string, string> param in request.Field.StoredProcedure.Parameters)
{
if ((param.Value == null || param.Value.Length == 0) &&
request.SearchParams.ContainsKey(param.Key))
{
request.Field.StoredProcedure.Parameters[param.Key] =
request.SearchParams[param.Key];
}
else if (param.Value == null || param.Value.Length == 0)
{
throw new ArgumentException(
"No value could be found for sproc parameter " + param.Key);
}
}
Run Code Online (Sandbox Code Playgroud)
在迭代它时,您是否无法为集合分配值?
我有一个字符串,其中包含{namespace:name}格式的变量我正在尝试创建一个正则表达式来查找字符串中的所有变量.到目前为止我有以下内容,但它不起作用:
$str = " {user:fname} and the last name = {user:lname}";
var_dump(preg_match_all("/^\{(\w):(\w)\}/", $str, $matches));
var_dump($matches);
Run Code Online (Sandbox Code Playgroud)
但它找不到任何标签.变量可以包含名称空间和名称的任何单词,但字母只能包含空格.任何帮助,将不胜感激.
更新
我也尝试了以下内容并没有收到任何结果: "/\{(\w):(\w)\}/"
c# ×2
php ×2
dictionary ×1
exception ×1
inheritance ×1
interface ×1
oop ×1
preg-match ×1
regex ×1