我正在尝试创建一个 SEDE 查询来查找包含纯文本链接的帖子,但以下查询并不好:
SELECT Id AS [Post Link], Body
FROM Posts
where Body LIKE '%http://%'
and Body not like '%<a href="%'
and body not like '%<img src="%'
因为它将排除帖子包含纯文本链接和有效超链接/图像的结果。
正确的使用方法是什么?我尝试搜索无济于事。
我正在尝试创建一个 SEDE 查询来查找包含纯文本链接的帖子,但以下查询并不好:
SELECT Id AS [Post Link], Body
FROM Posts
where Body LIKE '%http://%'
and Body not like '%<a href="%'
and body not like '%<img src="%'
因为它将排除帖子包含纯文本链接和有效超链接/图像的结果。
正确的使用方法是什么?我尝试搜索无济于事。
我正在尝试删除从我的类继承的Enemy0
, Enemy1
, ... 类中的冗余abstract Enemy
。这都是 Monogame/XNA。
我的抽象类看起来像这样:
public abstract class Enemy
{
public abstract Vector2 Position { get; }
public Enemy() {}
public abstract void Update(GameTime gameTime);
public abstract void Draw(SpriteBatch spriteBatch);
public abstract Part getLeftPart();
public abstract Part getRightPart();
public abstract Part getLeftLeftPart(); //This method only used in Boss0 classes
public abstract Part getRightRightPart(); //This method only used in Boss0 classes
}
尽管我的Enemy#
类在实现上有所不同,但有些方法完全相同/冗余并占用空间(但具有与该类相关的参数,例如私有变量_leftPartPos
)。
当我有 20 个左右Enemy#
的类并且我决定向Part
对象添加一个额外的参数(用于getLeftPart()
- 我还必须修改 20 个继承Enemy
public class Enemy0 : Enemy
{
private Texture2D _partTexture;
private Vector2 _leftpartPos;
private Vector2 _rightPartPos;
public override Vector2 Position
{
get { return _position; } // Reason for this get is to access inner variables
} // like _position.X = 10
private Vector2 _position;
public Enemy() {}
public abstract void Update(GameTime gameTime)
{
// Some varying functionality per inheriting class
}
public abstract void Draw(SpriteBatch spriteBatch)
{
// Some varying functionality per inheriting class
}
public override Part getLeftPart() // This always returns the same object (with
{ // different params)
return new Part(
_partTexture,
_leftPartPos,
SpriteEffects.FlipHorizontally);
}
public abstract Part getRightPart()
{
return new Part(
_partTexture,
_rightPartPos,
SpriteEffects.None);
}
public override Part getLeftLeftPart()
{
return null; // This only returns an instance in Boss0, Boss1, etc
}
public override Part getRightRightPart()
{
return null;
}
}
我有这个抽象类的原因是我可以初始化一个List<Enemy>
对象并访问它的各种方法,而不必将每个类强制转换为Enemy0
, Enemy1
, ...
有没有办法可以将getLeftPart()
, getRightPart()
, ... 的功能放入我的抽象类中?有没有更好的方法来解决这一切?